Reguläre Ausdrücke testen und debuggen
Was dieser Tester leistet
Ein regulärer Ausdruck ist ein kompaktes Muster, das eine Menge von Zeichenketten beschreibt – die Form einer E-Mail-Adresse, eines Datums, einer Telefonnummer oder jeder wiederkehrenden Textstruktur. Das Werkzeug kompiliert das eingegebene Muster mit der JavaScript-Regex-Engine deines Browsers und wendet es auf deinen Beispieltext an, sobald du etwas änderst – ganz ohne separaten „Ausführen“-Schritt. Jeder Treffer wird direkt im Text hervorgehoben, und ein Detailbereich listet jeden Treffer mit seinen erfassten Gruppen und seiner Zeichenposition auf.
Da dieselbe Engine wie hinter RegExp in JavaScript und Node.js zum Einsatz kommt, entspricht das Ergebnis hier genau dem, was dein Code später tut.
Wann sich der Einsatz lohnt
Greife dazu, sobald sich ein Muster anders verhält als erwartet. Statt console.log-Zeilen einzustreuen und ein Skript erneut zu starten, fügst du repräsentativen Text ein, passt das Muster an und siehst die Hervorhebungen in Echtzeit wandern. Ebenso hilfreich ist es, ein Muster von Grund auf aufzubauen: weit beginnen und so lange verengen, bis nur noch die gewünschten Treffer aufleuchten.
Die Live-Statistik – Trefferanzahl, Gruppenzahl, Länge von Muster und Text sowie Verarbeitungszeit – hilft, katastrophales Backtracking oder einen versehentlich gierigen Quantifizierer zu erkennen, bevor er in Produktion geht.
Beispiel: ein Datum erkennen
Angenommen, du willst ISO-Daten aus einem Log herauslösen. Das Muster (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) erkennt 2026-07-18 und zerlegt es in drei benannte Gruppen: year, month und day. Mit gesetztem Flag g werden alle Daten im Text erfasst, nicht nur das erste. Ersetzt du \d{2} durch \d{1,2}, würden auch einstellige Monate wie 2026-7-8 akzeptiert.
Hinweise und Sonderfälle
Flags ändern alles: i macht den Treffer unabhängig von Groß- und Kleinschreibung, m lässt ^ und $ an jeder Zeile ankern, s erlaubt dem Punkt, Zeilenumbrüche zu überspannen, und u aktiviert die vollständige Unicode-Behandlung. Denk daran, dass Zeichen wie . * + ? ( ) [ ] { } \ | ^ $ eine Sonderbedeutung haben und mit einem Backslash maskiert werden müssen, um sie wörtlich zu treffen: Für einen wörtlichen Punkt schreibst du \. statt ., das auf jedes beliebige Zeichen passt. Unbenannte Gruppen werden ab 1 in der Reihenfolge ihrer öffnenden Klammer nummeriert, während (?:...) eine Gruppe erzeugt, die nichts erfasst.