← Ressourcen RESOURCE
Fünf typische Regex-Fehler von Einsteigern und wie man sie behebt.

Erstens der Fehler, den Punkt (.) nicht zu escapen. Da der Punkt in regulären Ausdrücken "ein beliebiges Zeichen" bedeutet, muss man ihn als \. schreiben, um einen tatsächlichen Punkt zu finden. Sucht man zum Beispiel die Dateiendung .txt und schreibt sie nicht als \.txt, wird auch etwas wie xtxt erfasst.

Zweitens der Fehler, durch gieriges Matching zu viel zu erfassen. <.*> verschlingt alles vom ersten < bis zum letzten >. Um einzelne Tags zu erfassen, verwendet man das genügsame <.*?> oder eine negierte Zeichenklasse <[^>]*>.

Drittens der Fehler, Anker wegzulassen. Um zu prüfen, ob die gesamte Zeichenkette dem Format entspricht, muss man die beiden Enden mit ^ und $ festhalten. Ohne Anker wird auch dann durchgelassen, wenn nur ein Teil der Zeichenkette passt, wodurch die Prüfung von Passwörtern und Benutzernamen umgangen wird.

Viertens escapen viele Sonderzeichen innerhalb eckiger Klammern übermäßig. Innerhalb einer Zeichenklasse [] werden die meisten Metazeichen einfach als Zeichen behandelt, daher steht [.+*] für die drei Symbole selbst. Nur bei ] ^ - \ muss man auf die Position achten.

Fünftens der Fehler, Flags zu vergessen. Um alle Treffer zu finden, braucht man g, um die Groß-/Kleinschreibung zu ignorieren i, und um ^·$ in mehreren Zeilen auf jede Zeile anzuwenden m. Wenn nur ein Ergebnis erscheint, prüfen Sie zuerst das g-Flag.