Regex-Tester
Local only — nothing is uploaded unless you save or share it.
Ein Regex-Tester für reguläre Ausdrücke, sicher gegen Ihren eigenen Text ausgeführt.
- Tippen Sie Ihr Muster und wählen Sie die Flags, die Sie brauchen
- Fügen Sie den Text ein, gegen den getestet wird
- Lesen Sie die hervorgehobenen Treffer und Erfassungsgruppen darunter
Tool speichern
Regex-Tester griffbereit halten
Nutzen Sie das Teilen-Menü Ihres Browsers und dann „Zum Home-Bildschirm“.
Über dieses Tool
Reguläre Ausdrücke sind kompakt und unnachgiebig, und der übliche Weg, einen zu lernen, ist ein Zeichen zu ändern und zu sehen, was passiert. Dieser Tester macht diese Schleife unmittelbar: Treffer werden beim Tippen hervorgehoben, jede Erfassungsgruppe wird mit ihrem Wert aufgeführt, und Syntaxfehler werden in klaren Worten gemeldet, statt still nichts zurückzugeben. Er nutzt die eigene JavaScript-Regex-Maschine Ihres Browsers, was Sie hier sehen, ist also genau das, was Ihr Code tun wird, samt Verhalten der Flags und benannter Gruppen. Wissenswert ist, dass er Ihr Muster in einem Hintergrund-Thread ausführt und nicht auf der Seite. Bestimmte Muster, besonders verschachtelte Wiederholungen wie das klassische wiederholte a-Plus in Klammern, können bei manchen Eingaben exponentiell lange brauchen, und JavaScript bietet keine Möglichkeit, eine einmal gestartete Regex zu unterbrechen. Die meisten Online-Tester frieren dann den Tab ein. Hier wird der Hintergrund-Thread einfach verworfen und Ihnen gesagt, dass das Muster zu lange gebraucht hat — was zugleich eine nützliche Warnung ist, dass dasselbe Muster Ihren Server blockieren würde.
Häufige Fragen
Welcher Regex-Dialekt ist das?
JavaScript, mit der Maschine Ihres eigenen Browsers. Das heißt, was Sie hier sehen, ist genau das, was Ihr JavaScript- oder TypeScript-Code tun wird. Muster, die für PCRE, Python oder Go geschrieben wurden, können sich anders verhalten, besonders bei Lookbehind und Unicode-Eigenschaften.
Kann ich diesem Tester ein langsames Muster anvertrauen?
Ja, und genau deshalb hat er diese Form. Ein Tester, der das Muster auf der Seite ausführt, lässt sich durch katastrophales Backtracking aufhängen — ein Muster, das bei einer kurzen Zeichenkette Minuten braucht. Hier läuft Ihres in einem Worker mit Zeitlimit, ein außer Kontrolle geratenes Muster wird also gemeldet, statt den Tab einzufrieren.
Was bedeutet die Zeitüberschreitung?
Ihr Muster hat zu lange gebraucht. Verschachtelte Wiederholung wie (a+)+ kann bei bestimmten Eingaben exponentiell lange dauern, ein Problem, das als katastrophales Backtracking bekannt ist. Es ist eine echte Warnung: dasselbe Muster würde in der Produktion eine Anfrage aufhängen und nicht bloß einen Browser-Tab.
Warum hängt mein Muster andere Regex-Tester auf, diesen aber nicht?
Weil der Abgleich hier in einem Hintergrund-Thread läuft. JavaScript kann eine laufende Regex nicht unterbrechen, ein Tester, der auf der Seite auswertet, hat also keine Möglichkeit sich zu retten, und der Tab friert ein. Ein Hintergrund-Thread lässt sich einfach verwerfen.
Was ist der Unterschied zwischen dem Global-Flag und keinem Flag?
Ohne das Global-Flag wird nur der erste Treffer zurückgegeben. Mit ihm läuft der Abgleich durch die ganze Zeichenkette. Es ändert außerdem, wie die Maschine die Position zwischen Aufrufen verfolgt, eine häufige Quelle überraschenden Verhaltens, wenn ein Regex-Objekt wiederverwendet wird.
Werden benannte Erfassungsgruppen unterstützt?
Ja. Gruppen der Form (?<name>...) werden mit ihren Namen neben den nummerierten Gruppen aufgeführt, sodass Sie bestätigen können, dass sie erfassen, was Sie erwarten, bevor Sie sie in Code einbauen.
Helfen Sie, dieses Tool zu verbessern
Einen Fehler gefunden, eine Änderung im Kopf, oder fehlt Ihnen ein Tool?
Sie haben einen ungesendeten Entwurf.
Danke — ist bei uns angekommen. Die Antwort finden Sie in Ihrem Postfach.Go to my messages