Was dieses Tool macht
Ein JavaScript-Regex-Tester mit Live-Treffer-Hervorhebung, Capture-Group-Aufschlüsselung und Schutz gegen katastrophales Backtracking. Das Flags-Feld nimmt die Standardmenge (g i m s u y); Treffer werden mit Start-/End-Indizes und allen benannten oder nummerierten Gruppen aufgelistet.
Wann du es brauchst
- Einen Regex an einer repräsentativen Stichprobe entwerfen, bevor du ihn in den Code kopierst.
- Bestätigen, was ein fremder Regex tatsächlich matcht (und was nicht).
- Ein Pattern enger ziehen, das in Produktion zu greedy oder zu loose war.
- Den JavaScript-Dialekt speziell üben — jede Sprache hat subtil andere Semantik.
Wie es funktioniert
Das Pattern wird mit new RegExp(pattern, flags) kompiliert und gegen den Testtext laufen gelassen. Das Matching passiert in einem Web Worker mit 1-Sekunde-Timeout — löst das Pattern auf der Eingabe katastrophales Backtracking aus, wird der Worker terminiert, und du siehst eine "Regex hat zu lange gebraucht"-Meldung statt eines eingefrorenen Tabs. Realer Concern bei Patterns wie (a+)+b gegen lange a-Eingaben.
Hinweise
Warum ein Web Worker? Browser-Regex-Engines bieten kein Timeout, und ein einzelner langsamer Regex kann den Main-Thread zehntausende ms blockieren. Matching im Worker erlaubt worker.terminate() und hält das UI responsiv.
Werden Perl/PCRE-Features unterstützt? Nein — nur was JavaScript kann. \K, atomare Gruppen, possessive Quantoren und rekursive Patterns sind nicht Teil der JS-Regex-Grammatik. Lookbehind und benannte Gruppen schon.
Mein Regex matcht hier, aber nicht in meinem Code. Prüf die Flags. Das u-Flag ändert, wie manche Zeichenklassen Unicode matchen; g beeinflusst State über Aufrufe hinweg, wenn du das Regex-Objekt wiederverwendest.
Verwandte Tools
- Diff-Vergleich — Vorher/Nachher beim Refactoren von Patterns
- JSON-Formatter — Patterns gegen API-Payloads testen