Reguliere Expressies Spiekbriefje
Tekens matchen
| [abc] | Matcht elk afzonderlijk teken uit a, b of c |
| [^abc] | Matcht geen van de tekens a, b of c. De “^” werkt alleen als het het eerste teken is |
| [a-g] | Matcht elk afzonderlijk teken in het bereik a-g |
| [^a-g] | Matcht geen enkel teken in het bereik a-g |
| [H-N] | Matcht elk afzonderlijk teken in het bereik H-N |
| [0-9] | Matcht elk afzonderlijk cijfer in het bereik 0-9 |
| [a-gH-N] | Matcht elk afzonderlijk teken in het bereik a-g of H-N |
| Wildcards: | |
| . | [^\n\r], matcht elk teken behalve regeleinden |
| \s | Witruimte: regeleinde, tab, spatie, etc. |
| \S | [^\s] (Geen witruimte) |
| \d | Cijfer: [0-9] |
| \D | [^\d] (Geen cijfer) |
| \w | Woordteken: [0-9A-Za-z_] |
| \W | [^\w] (Geen woordteken) |
Groepen matchen
| (a | b) |
| (…) | Capture-groep |
| (?:…) | Niet-capture-groep |
| (?<name>…) of (?’name’…) | Benoemde capture-groep, “name” kan worden aangepast |
| (?(condition)true_regex | false_regex) |
group(0) wordt gebruikt om de volledige gematchte string op te halen, terwijl group(>0) sub-capture-groepen uit de volledige string kan extraheren.
Opmerking: Benoemde capture-groepen worden ondersteund sinds Java 1.7 (door de string “name” als argument aan de group-methode door te geven). JS en Python ondersteunen benoemde capture-groepen momenteel nog niet standaard.
Frequentiebereik (Quantificatoren)
| {3} | Het voorgaande item komt precies 3 keer voor, equivalent aan {3,3} |
| {3,6} | Het voorgaande item komt 3 tot 6 keer voor |
| {3,} | Het voorgaande item komt minstens 3 keer voor |
| {0,6} | Het voorgaande item komt maximaal 6 keer voor |
| Wildcards: | |
| * | {0,} (Nul of meer) |
| + | {1,} (Eén of meer) |
| ? | {0,1} (Nul of één) |
| \w* | Greedy modus (Gretig) |
| \w*? | Non-greedy modus |
Anchors (Positie-indicatoren)
| ^ | Begin van de string |
| $ | Einde van de string |
| \b | Boundary, woordgrens |
| \B | Geen woordgrens |
| Lookaround-assertions: | |
| (?=exp) | Positieve vooruitblik (lookahead, suffix is exp) |
| (?<=exp) | Positieve terugblik (lookbehind, prefix is exp) |
| (?!exp) | Negatieve vooruitblik (geen suffix exp) |
| (?<!exp) | Negatieve terugblik (geen prefix exp) |
\b(\w+)\b is equivalent aan (?<=\W?)(\w+)(?=\W?)