Skip to content

Regex-Tokens erklärt

Jedes zentrale Regex-Token: Anker, Zeichenklassen, Quantoren, Gruppen und Flags. Was jedes bedeutet, mit einem konkreten Treffer. Der Schnellreferenz-Begleiter zum Regex-Tester-Tool.

Regex-Tokens setzen sich zusammen: Ein Anker, eine Zeichenklasse und ein Quantor ergeben zusammen ein Muster. ^ pinnt am Anfang fest, \d trifft eine Ziffer, und {2,4} legt fest, wie oft. Als ^\d{2,4}$ kombiniert, treffen sie einen ganzen String aus zwei bis vier Ziffern. Ein Muster wird von links nach rechts gelesen, ein Token nach dem anderen. Mit dem begleitenden Regex-Tester-Tool lassen sich all diese Tokens live am eigenen Text ausprobieren.

Nachschlagetabelle · 55 EinträgeTool regex-tester öffnen →
55 of 55 rows
Anker
Trifft die Position am Anfang des Strings — oder mit dem Flag m den Anfang einer Zeile.^He → He
Trifft die Position am Ende des Strings — oder mit dem Flag m das Ende einer Zeile.lo$ → lo
Trifft eine Wortgrenze: die Position zwischen einem Wortzeichen und einem Nicht-Wortzeichen.\bcat\b → cat
Trifft eine Nicht-Wortgrenze: die Position zwischen zwei Wortzeichen oder zwei Nicht-Wortzeichen.\Bar → ar
Zeichenklassen
Trifft jedes einzelne Zeichen außer einem Zeilenumbruch, sofern nicht das Flag s gesetzt ist.a.c → abc
Trifft jede Ziffer, 0 bis 9.\d → 7
Trifft jedes Zeichen, das keine Ziffer ist.\D → a
Trifft jedes Wortzeichen: einen Buchstaben, eine Ziffer oder einen Unterstrich.\w → _
Trifft jedes Zeichen, das kein Wortzeichen ist.\W → !
Trifft jedes Whitespace-Zeichen: ein Leerzeichen, ein Tab oder einen Zeilenumbruch.a\sb → a b
Trifft jedes Zeichen, das kein Whitespace ist.\S → a
Trifft jedes einzelne der in den Klammern aufgelisteten Zeichen.[aeiou] → e
Trifft jedes Zeichen, das nicht eines der in den Klammern aufgelisteten ist.[^aeiou] → s
Trifft jedes einzelne Zeichen im angegebenen Bereich, von a bis z.[a-z] → m
Trifft jedes einzelne Zeichen inklusive Zeilenumbruch — die gängige Schreibweise für einen Punkt, der über Zeilen hinaus trifft.[\s\S] → \n
Trifft jeden Unicode-Buchstaben aus jeder Schrift, wenn das Flag u gesetzt ist.\p{L} → é
Trifft jedes Unicode-Zahlzeichen aus jeder Schrift, wenn das Flag u gesetzt ist.\p{N} → ٣
Escape: trifft genau ein Line-Feed-Zeichen.\n → line feed
Escape: trifft genau ein Tabulatorzeichen.\t → tab
Escape: trifft genau ein Carriage-Return-Zeichen.\r → carriage return
Trifft das einzelne Zeichen mit dem angegebenen zweistelligen Hexadezimalcode.\x41 → A
Trifft das einzelne Zeichen mit dem angegebenen hexadezimalen Codepunkt, wenn das Flag u gesetzt ist.\u{1F600} → 😀
Klassenschnittmenge mit dem Flag v: trifft Zeichen, die gleichzeitig in beiden Mengen liegen.[[a-z]&&[^aeiou]] → t
Quantoren
Trifft das vorherige Token nullmal oder öfter.ab* → abbb
Trifft das vorherige Token einmal oder öfter.a+ → aaa
Trifft das vorherige Token nullmal oder einmal und macht es damit optional.colou?r → color
Trifft das vorherige Token genau n-mal.a{3} → aaa
Trifft das vorherige Token n-mal oder öfter.a{2,} → aaaa
Trifft das vorherige Token zwischen n- und m-mal, Grenzen eingeschlossen.a{2,4} → aaa
Fauler Quantor: trifft das vorherige Token nullmal oder öfter und nimmt dabei so wenig wie möglich.<.*?> on <a><b> → <a>
Fauler Quantor: trifft das vorherige Token einmal oder öfter und nimmt dabei so wenig wie möglich.\d+? on 123 → 1
Fauler Quantor: trifft das vorherige Token nullmal oder einmal, bevorzugt null.ab?? on ab → a
Fauler Quantor: trifft das vorherige Token zwischen n- und m-mal und nimmt dabei so wenig wie möglich.a{1,3}? on aaa → a
Possessiver Quantor (PCRE): trifft das vorherige Token nullmal oder öfter, behält es und probiert beim Backtracking keine anderen Aufteilungen..*+a on aaa → no match
Gruppen & Alternation
Eine erfassende Gruppe: trifft die Sequenz und merkt sie für Rückverweise.(ab)+ → abab
Eine nicht erfassende Gruppe: trifft die Sequenz, ohne sie zu merken.(?:ab)+ → abab
Positiver Lookahead: trifft, wenn die nächsten Zeichen abc lauten, ohne sie zu verbrauchen.a(?=b) → a
Negativer Lookahead: trifft, wenn die nächsten Zeichen nicht abc lauten, ohne sie zu verbrauchen.a(?!b) → a
Rückverweis: trifft exakt den Text, den die erfassende Gruppe 1 gemerkt hat.(a)\1 → aa
Alternation: trifft entweder den Ausdruck vor oder den nach dem Balken.cat|dog → dog
Eine benannte erfassende Gruppe: trifft die Sequenz und merkt sie unter dem angegebenen Namen.(?<year>\d{4}) → year = 2026
Positiver Lookbehind: trifft, wenn die vorherigen Zeichen abc lauten, ohne sie zu verbrauchen.(?<=a)b → b
Negativer Lookbehind: trifft, wenn die vorherigen Zeichen nicht abc lauten, ohne sie zu verbrauchen.(?<!a)b → b
Benannter Rückverweis: trifft exakt den Text, den die benannte Gruppe gemerkt hat.(?<w>\w+) \k<w> → the the
Atomare Gruppe (PCRE): trifft die Sequenz genau einmal und geht beim Backtracking nie wieder hinein.(?>a+)ab on aab → no match
Branch-Reset (PCRE): Alternation, bei der jeder Zweig dieselben Gruppennummern wiederverwendet.(?|(cat)|(dog)) → \1 = dog
Flags
Globales Flag: findet jeden Treffer im String, nicht nur den ersten./a/g on aaa → a, a, a
Flag für Groß-/Kleinschreibung: ignoriert die Buchstabenform beim Matchen./Hi/i → hi
Multiline-Flag: behandelt ^ und $ als Anfang und Ende jeder Zeile./^a/m matches at the start of each line
Dotall-Flag: lässt den Punkt auch einen Zeilenumbruch treffen./a.b/s → a\nb
Unicode-Flag: behandelt ein Muster und seine Eingabe als Unicode-Codepunkte./\u{1F600}/u → 😀
Sticky-Flag: trifft nur an der genauen Position, die lastIndex setzt./ab/y matches only at lastIndex
Indizes-Flag: ergänzt das Ergebnis um die Start- und Endposition jedes Treffers./b/d on abc → indices [1, 2]
Unicode-Sets-Flag: ein strengeres u, das zusätzlich Mengenoperationen innerhalb einer Klasse erlaubt./[a-z&&[^aeiou]]/v → t
Erweitertes Flag (PCRE): ignoriert nicht maskierte Leerzeichen und #-Kommentare im Muster./a b/x → ab