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 ⤢ \bTrifft eine Wortgrenze: die Position zwischen einem Wortzeichen und einem Nicht-Wortzeichen. \bcat\b → cat ⤢ \BTrifft 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 ⤢ \dTrifft jede Ziffer, 0 bis 9. \d → 7 ⤢ \DTrifft jedes Zeichen, das keine Ziffer ist. \D → a ⤢ \wTrifft jedes Wortzeichen: einen Buchstaben, eine Ziffer oder einen Unterstrich. \w → _ ⤢ \WTrifft jedes Zeichen, das kein Wortzeichen ist. \W → ! ⤢ \sTrifft jedes Whitespace-Zeichen: ein Leerzeichen, ein Tab oder einen Zeilenumbruch. a\sb → a b ⤢ \STrifft jedes Zeichen, das kein Whitespace ist. \S → a ⤢ [abc]Trifft jedes einzelne der in den Klammern aufgelisteten Zeichen. [aeiou] → e ⤢ [^abc]Trifft jedes Zeichen, das nicht eines der in den Klammern aufgelisteten ist. [^aeiou] → s ⤢ [a-z]Trifft jedes einzelne Zeichen im angegebenen Bereich, von a bis z. [a-z] → m ⤢ [\s\S]Trifft jedes einzelne Zeichen inklusive Zeilenumbruch — die gängige Schreibweise für einen Punkt, der über Zeilen hinaus trifft. [\s\S] → \n ⤢ \p{L}Trifft jeden Unicode-Buchstaben aus jeder Schrift, wenn das Flag u gesetzt ist. \p{L} → é ⤢ \p{N}Trifft jedes Unicode-Zahlzeichen aus jeder Schrift, wenn das Flag u gesetzt ist. \p{N} → ٣ ⤢ \nEscape: trifft genau ein Line-Feed-Zeichen. \n → line feed ⤢ \tEscape: trifft genau ein Tabulatorzeichen. \t → tab ⤢ \rEscape: trifft genau ein Carriage-Return-Zeichen. \r → carriage return ⤢ \xhhTrifft das einzelne Zeichen mit dem angegebenen zweistelligen Hexadezimalcode. \x41 → A ⤢ \u{hhhh}Trifft das einzelne Zeichen mit dem angegebenen hexadezimalen Codepunkt, wenn das Flag u gesetzt ist. \u{1F600} → 😀 ⤢ [[a-z]&&[^aeiou]]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 ⤢ {n}Trifft das vorherige Token genau n-mal. a{3} → aaa ⤢ {n,}Trifft das vorherige Token n-mal oder öfter. a{2,} → aaaa ⤢ {n,m}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 ⤢ {n,m}?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 ⤢ (abc)Eine erfassende Gruppe: trifft die Sequenz und merkt sie für Rückverweise. (ab)+ → abab ⤢ (?:abc)Eine nicht erfassende Gruppe: trifft die Sequenz, ohne sie zu merken. (?:ab)+ → abab ⤢ (?=abc)Positiver Lookahead: trifft, wenn die nächsten Zeichen abc lauten, ohne sie zu verbrauchen. a(?=b) → a ⤢ (?!abc)Negativer Lookahead: trifft, wenn die nächsten Zeichen nicht abc lauten, ohne sie zu verbrauchen. a(?!b) → a ⤢ \1Rückverweis: trifft exakt den Text, den die erfassende Gruppe 1 gemerkt hat. (a)\1 → aa ⤢ a|bAlternation: trifft entweder den Ausdruck vor oder den nach dem Balken. cat|dog → dog ⤢ (?<name>abc)Eine benannte erfassende Gruppe: trifft die Sequenz und merkt sie unter dem angegebenen Namen. (?<year>\d{4}) → year = 2026 ⤢ (?<=abc)Positiver Lookbehind: trifft, wenn die vorherigen Zeichen abc lauten, ohne sie zu verbrauchen. (?<=a)b → b ⤢ (?<!abc)Negativer Lookbehind: trifft, wenn die vorherigen Zeichen nicht abc lauten, ohne sie zu verbrauchen. (?<!a)b → b ⤢ \k<name>Benannter Rückverweis: trifft exakt den Text, den die benannte Gruppe gemerkt hat. (?<w>\w+) \k<w> → the the ⤢ (?>abc)Atomare Gruppe (PCRE): trifft die Sequenz genau einmal und geht beim Backtracking nie wieder hinein. (?>a+)ab on aab → no match ⤢ (?|a|b)Branch-Reset (PCRE): Alternation, bei der jeder Zweig dieselben Gruppennummern wiederverwendet. (?|(cat)|(dog)) → \1 = dog Flags ⤢ gGlobales Flag: findet jeden Treffer im String, nicht nur den ersten. /a/g on aaa → a, a, a ⤢ iFlag für Groß-/Kleinschreibung: ignoriert die Buchstabenform beim Matchen. /Hi/i → hi ⤢ mMultiline-Flag: behandelt ^ und $ als Anfang und Ende jeder Zeile. /^a/m matches at the start of each line ⤢ sDotall-Flag: lässt den Punkt auch einen Zeilenumbruch treffen. /a.b/s → a\nb ⤢ uUnicode-Flag: behandelt ein Muster und seine Eingabe als Unicode-Codepunkte. /\u{1F600}/u → 😀 ⤢ ySticky-Flag: trifft nur an der genauen Position, die lastIndex setzt. /ab/y matches only at lastIndex ⤢ dIndizes-Flag: ergänzt das Ergebnis um die Start- und Endposition jedes Treffers. /b/d on abc → indices [1, 2] ⤢ vUnicode-Sets-Flag: ein strengeres u, das zusätzlich Mengenoperationen innerhalb einer Klasse erlaubt. /[a-z&&[^aeiou]]/v → t ⤢ xErweitertes Flag (PCRE): ignoriert nicht maskierte Leerzeichen und #-Kommentare im Muster. /a b/x → ab