Regex-Tester
Reguläre Ausdrücke testen mit Live-Hervorhebung von Treffern und Gruppen
Über dieses Tool
Schreib ein Pattern, füge Beispieltext ein, und jeder Match wird beim Tippen hervorgehoben — mit Capture-Groups, benannten Gruppen und Match-Positionen darunter aufgelistet. Der Tester nutzt die JavaScript-RegExp-Engine, das Verhalten entspricht also exakt dem von Node.js und Browsern, inklusive Lookbehind, benannter Gruppen und Unicode-Property-Escapes.
Flags werden pro Buchstabe umgeschaltet (g, i, m, s, u, y, d) und das Pattern wird bei jedem Tastendruck kompiliert; Syntaxfehler erscheinen sofort mit der Original-Meldung der Engine statt erst nach einem Buttonklick. Patterns mit leeren Matches wie a* werden sicher behandelt, und ausufernde Eingaben werden bei 10.000 Matches gekappt, damit ein verirrtes .* den Tab nicht einfrieren kann.
Regex-Dialekte unterscheiden sich zwischen Engines — ein Pattern, das hier funktioniert, braucht für PCRE, RE2 oder Pythons re-Modul eventuell Anpassungen, vor allem bei Lookbehind-Unterstützung, possessiven Quantifizierern und Inline-Flags.
Häufige Fragen
- Welchen Regex-Dialekt verwendet dieser Tester?
- ECMAScript (JavaScript), so wie ihn dein eigener Browser implementiert. Unterstützt werden Lookahead, Lookbehind, benannte Capture-Groups, Rückverweise und Unicode-Property-Escapes wie \p{Letter} (mit dem u-Flag). Nicht unterstützt wird PCRE-exklusive Syntax wie possessive Quantifizierer oder Rekursion.
- Warum matcht mein Pattern alles / nichts?
- Die zwei Klassiker: ein nicht escaptes Metazeichen (. matcht jedes Zeichen — escape es als \. für einen literalen Punkt) oder ein gedanklich fehlendes g-Flag — dieser Tester findet immer alle Matches, dein Code aber nur den ersten, sofern g nicht gesetzt ist.
- Was sind benannte Capture-Groups?
- Die Syntax (?<name>...) benennt eine Gruppe, sodass du Matches über den Namen statt über die Position auslesen kannst: match.groups.name in JavaScript. Das Gruppen-Panel unter den Matches zeigt für jeden Match nummerierte und benannte Captures.
- Läuft ein Regex von hier unverändert in Python oder Go?
- Oft, aber nicht immer. Zeichenklassen, Quantifizierer und Anker sind portabel; Lookbehind, die Syntax benannter Gruppen (Python nutzt (?P<name>...)) und Inline-Flags unterscheiden sich. Gos RE2-Engine lehnt Rückverweise und Lookaround sogar komplett ab.