Skip to content

Reguläre Ausdrücke Spickzettel

Zeichen abgleichen

[abc] Findet eines der Zeichen a, b oder c
[^abc] Findet keines der Zeichen a, b oder c. Das „^“ ist nur wirksam, wenn es als erstes Zeichen erscheint
[a-g] Findet ein beliebiges Zeichen im Bereich a-g
[^a-g] Findet kein Zeichen im Bereich a-g
[H-N] Findet ein beliebiges Zeichen im Bereich H-N
[0-9] Findet ein beliebiges Zeichen im Bereich 0-9
[a-gH-N] Findet ein beliebiges Zeichen in den Bereichen a-g oder H-N
Wildcards:
. [^\n\r], findet jedes Zeichen außer dem Zeilenumbruch
\s Leerzeichen: Zeilenumbruch, Tabulator, Leerzeichen usw.
\S [^\s] (Nicht-Leerzeichen)
\d Ziffer: [0-9]
\D [^\d] (Keine Ziffer)
\w Wortzeichen: [0-9A-Za-z_]
\W [^\w] (Kein Wortzeichen)

Gruppen abgleichen

(a b)
(…) Erfassungsgruppe (Capture Group)
(?:…) Nicht-erfassende Gruppe
(?<name>…) oder (?’name’…) Benannte Erfassungsgruppe, „name“ kann angepasst werden
(?(condition)true_regex false_regex)

group(0) wird verwendet, um den gesamten übereinstimmenden String abzurufen, während group(>0) Untergruppen aus dem Gesamtergebnis extrahieren kann.

Hinweis: Benannte Erfassungsgruppen werden erst seit Java 1.7 unterstützt (indem der String „name“ als Parameter an die group-Methode übergeben wird). JS und Python unterstützen benannte Erfassungsgruppen derzeit noch nicht nativ.

Häufigkeitsbereich (Quantoren)

{3} Das vorangehende Element erscheint genau 3 Mal, entspricht {3,3}
{3,6} Das vorangehende Element erscheint 3 bis 6 Mal
{3,} Das vorangehende Element erscheint mindestens 3 Mal
{0,6} Das vorangehende Element erscheint höchstens 6 Mal
Wildcards:
* {0,} (Null oder mehr)
+ {1,} (Eins oder mehr)
? {0,1} (Null oder eins)
\w* Greedy-Modus (Gierig)
\w*? Non-greedy-Modus (Genügsam)

Anker (Positionsmarker)

^ Anfang des Strings
$ Ende des Strings
\b Wortgrenze (Boundary)
\B Keine Wortgrenze
Lookaround-Assertionen:
(?=exp) Positive Lookahead-Assertion (exp folgt)
(?<=exp) Positive Lookbehind-Assertion (exp geht voraus)
(?!exp) Negative Lookahead-Assertion (exp folgt nicht)
(?<!exp) Negative Lookbehind-Assertion (exp geht nicht voraus)

\b(\w+)\b entspricht (?<=\W?)(\w+)(?=\W?)