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?)