Interaktiver Regex-Tester
Zeichenklassen
| Pattern |
Beschreibung |
Beispiel |
. | Jedes beliebige Zeichen (außer Zeilenumbruch) | a.c matcht "abc", "aac" |
\d | Ziffer (0-9) | \d\d matcht "42", "07" |
\D | Keine Ziffer (alles außer 0-9) | \D+ matcht "abc", "!?-" |
\w | Wortzeichen (a-z, A-Z, 0-9, _) | \w+ matcht "Hallo", "test_123" |
\W | Kein Wortzeichen | \W matcht " ", "!", "?" |
\s | Whitespace (Leerzeichen, Tab, Zeilenumbruch) | \s matcht " ", "\t" |
\S | Kein Whitespace | \S+ matcht "Wort" |
[abc] | Eines der Zeichen a, b oder c | [aeiou] matcht jeden Vokal |
[^abc] | Keines der Zeichen a, b, c | [^0-9] matcht alles außer Ziffern |
[a-z] | Bereich von a bis z | [A-Z] matcht Großbuchstaben |
Quantoren (Wiederholungen)
| Pattern |
Beschreibung |
Beispiel |
a* | 0 oder mehr Mal | ab*c matcht "ac", "abc", "abbc" |
a+ | 1 oder mehr Mal | ab+c matcht "abc", "abbc", nicht "ac" |
a? | 0 oder 1 Mal | ab?c matcht "ac", "abc" |
a{3} | Genau 3 Mal | a{3} matcht "aaa" |
a{2,4} | 2 bis 4 Mal | a{2,4} matcht "aa", "aaa", "aaaa" |
a{2,} | Mindestens 2 Mal | a{2,} matcht "aa", "aaa", ... |
Verankerungen
| Pattern |
Beschreibung |
Beispiel |
^ | Zeilenanfang | ^Hallo matcht "Hallo" am Anfang |
$ | Zeilenende | Ende$ matcht "Ende" am Ende |
\b | Wortgrenze | \bcat\b matcht "cat" als ganzes Wort |
\B | Keine Wortgrenze | \Bcat\B matcht "cat" in "scatter" |
Gruppen und Bereiche
| Pattern |
Beschreibung |
Beispiel |
(abc) | Capturing Group | (ab)+ matcht "abab" |
(?:abc) | Non-capturing Group | (?:ab)+ matcht, aber speichert nicht |
(?abc) | Named Group | (?<wort>\w+) benannte Gruppe |
\1, \2 | Backreference | (\w+)\s+\1 matcht doppelte Wörter |
a|b | Oder (Alternative) | cat|dog matcht "cat" oder "dog" |
Lookahead & Lookbehind
| Pattern |
Beschreibung |
Beispiel |
(?=abc) | Positive Lookahead | \d+(?=€) matcht Zahl vor "€" |
(?!abc) | Negative Lookahead | \d+(?!€) matcht Zahl nicht vor "€" |
(?<=abc) | Positive Lookbehind | (?<=€)\d+ matcht Zahl nach "€" |
(?<!abc) | Negative Lookbehind | (?<!€)\d+ matcht Zahl nicht nach "€" |
Flags
| Flag |
Beschreibung |
Beispiel |
g | Global (alle Treffer, nicht nur erster) | /a/g findet alle "a" |
i | Case-insensitive (Groß-/Kleinschreibung ignorieren) | /hallo/i matcht "HALLO", "hallo", "Hallo" |
m | Multiline (^ und $ beziehen sich auf Zeilenanfang/-ende) | /^test/m matcht "test" am Anfang jeder Zeile |
s | Dotall (Punkt matcht auch Zeilenumbruch) | /a.b/s matcht "a\nb" |
u | Unicode (korrekte Behandlung von Unicode-Zeichen) | /\p{L}/u matcht Unicode-Buchstaben |
y | Sticky (suche ab letzter Position) | /a/y matcht nur ab aktueller Position |
Escape-Sequenzen
| Pattern |
Beschreibung |
\. | Punkt (literal) |
\* | Stern (literal) |
\+ | Plus (literal) |
\? | Fragezeichen (literal) |
\^ | Zirkumflex (literal) |
\$ | Dollar (literal) |
\[ | Öffnende eckige Klammer (literal) |
\] | Schließende eckige Klammer (literal) |
\( | Öffnende runde Klammer (literal) |
\) | Schließende runde Klammer (literal) |
\| | Pipe (literal) |
\/ | Schrägstrich (literal) |
\\ | Backslash (literal) |
Nützliche Patterns
| Pattern |
Beschreibung |
Beispiel |
^[A-Z].*\.$ | Satzanfang mit Großbuchstaben, Punkt am Ende | "Hallo." |
\b[A-Z][a-z]+\b | Wörter mit großem Anfangsbuchstaben | "Hallo", "Welt" |
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b | IPv4-Adresse (einfach) | "192.168.1.1" |
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ | E-Mail-Adresse (einfach) | "test@example.com" |
https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b[-a-zA-Z0-9()@:%_\+.~#?&//=]* | URL (einfach) | "https://example.com" |
^\s*$ | Leere Zeile (nur Whitespace) | "" oder " " |
^\s+|\s+$ | Whitespace am Anfang oder Ende | " text " → "text" |
(\w)\1+ | Wiederholte Buchstaben | "aa", "bbb" |
^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[!@#$%^&*()]).{8,}$ | Passwort: min. 8 Zeichen, Groß, Klein, Zahl, Sonderzeichen | "Test123!" |
Tipps & Tricks
Greedy vs. Lazy
- Greedy (
.*) matcht so viel wie möglich
- Lazy (
.*?) matcht so wenig wie möglich
- Beispiel:
<.*> matcht "<h1>Titel</h1>" ganz
<.*?> matcht nur "<h1>"
Häufige Fehler
- Vergessene Escape-Zeichen (
. statt \.)
- Quantoren ohne Escape (
? statt \?)
- Falsche Klammerung
- Zeilenumbrüche mit
\n statt \r?\n
Verankerungen
Zeichenklassen
Quantoren
Gruppen
Flags