Entferne unerreichbaren Zweig im Rank-Muster, korrigiere Testnamen
src/ocr-extract.js: RANK_PATTERN enthielt [Xx], obwohl der Text an dieser Stelle bereits vollstaendig grossgeschrieben ist (normalizeToken laeuft vorher) - das kleine x konnte nie ankommen. Auf X reduziert, mit Kommentar begruendet. Die uebrigen Muster im Modul (CAPACITY_PATTERN, SPEED_PATTERN, PART_NUMBER_PATTERN, das formFactor-Muster, DATE_CODE_PATTERN) geprueft: keine weiteren unerreichbaren Zweige, alle nutzen bereits ausschliesslich Grossbuchstaben-Zeichenklassen bzw. Ziffern. test/ocr-extract.test.js: Testname behauptete "nur einer plausibel", der Referenztext enthaelt aber zwei plausible Datumscode-Kandidaten (1234 und 1908) - der Test belegt tatsaechlich, dass bei mehreren plausiblen Kandidaten der zuletzt vorkommende gewinnt. Umbenannt entsprechend. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+4
-1
@@ -7,7 +7,10 @@ const CAPACITY_PATTERN = /\b([0-9OQBSIL]{1,3})\s?GB\b/g;
|
||||
// Kein \b am Ende: auf Etiketten folgt der Geschwindigkeit oft direkt
|
||||
// ein Buchstabe (PC4-2400T), und dort gibt es keine Wortgrenze.
|
||||
const SPEED_PATTERN = /\bPC4[-\s]?([0-9OQ]{4})/g;
|
||||
const RANK_PATTERN = /\b([0-9OQ][DS]?R[Xx][0-9OQ])\b/g;
|
||||
// Nur Grossbuchstabe X: der Text ist an dieser Stelle bereits vollstaendig
|
||||
// grossgeschrieben (siehe normalizeToken/text unten), ein kleines x kann
|
||||
// hier also nie ankommen - die entsprechende Alternative waere toter Code.
|
||||
const RANK_PATTERN = /\b([0-9OQ][DS]?RX[0-9OQ])\b/g;
|
||||
const PART_NUMBER_PATTERN = /\b([A-Z]{1,3}[0-9]{2,4}[A-Z0-9]{4,}(?:-[A-Z0-9]{2,6})?)\b/g;
|
||||
const DATE_CODE_PATTERN = /(?:^|\s)([0-9]{4})(?=\s|$)/g;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user