Reguläre Ausdrücke Tester und Debugger
Testen und debuggen Sie reguläre Ausdrücke online mit Echtzeit-Treffermarkierung, Extraktion von Erfassungsgruppen, Ersetzungsvorschau und Standard-Vorlagen gemäß ECMAScript ECMA-262-Spezifikation.
Anleitung
Geben Sie Ihr reguläres Suchmuster in die Muster-Eingabeleiste ein.
Aktivieren Sie passende Flags (g für global, i für Groß-/Kleinschreibung ignorieren, m für mehrzeilig, s für dotAll, u für Unicode, y für sticky).
Fügen Sie Ihren Testtext in den Teststring-Editor ein.
Untersuchen Sie hervorgehobene Treffer, Start-/End-Offsets sowie nummerierte und benannte Erfassungsgruppen in der Treffer-Übersicht.
Geben Sie optional eine Ersetzungsvorlage im Ersetzungsmodus ein, um Suchen-und-Ersetzen-Transformationen interaktiv zu testen.
Wie die Auswertung regulärer Ausdrücke funktioniert
Ein regulärer Ausdruck (RegEx) ist eine Zeichenkette, die ein Suchmuster im Text definiert. Gemäß der ECMAScript ECMA-262 Spezifikation parst die JavaScript-Regex-Engine Ausdrücke in abstrakte Syntaxbäume und kompiliert sie in endliche Automaten (deterministische DFAs oder nicht-deterministische NFAs mit Backtracking), um Mustersuchen über Zielzeichenketten auszuführen.
RegExp-Flags und Standard-Verhalten
| Flag | Name | Standard-Verhalten |
|---|---|---|
g | Global | Findet alle Übereinstimmungen in der Eingabezeichenkette, anstatt nach dem ersten Treffer zu stoppen. Aktualisiert die lastIndex-Eigenschaft des RegExp-Objekts. |
i | Ignore Case | Führt eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung gemäß Unicode CaseFolding-Regeln durch. |
m | Multiline | Behandelt die Anker ^ und $ als Zeilenanfang und Zeilenende (getrennt durch \n oder \r\n), statt nur als Anfang und Ende des gesamten Strings. |
s | DotAll | Erlaubt dem Wildcard-Punkt ., auch Zeilenumbruchzeichen (\n, \r, \u2028, \u2029) zu matchen. |
u | Unicode | Aktiviert die vollständige UTF-16-Surrogatpaar-Behandlung und unterstützt Unicode-Property-Escapes wie \p{Letter} und \p{Script=Greek}. |
y | Sticky | Prüft Treffer ausschließlich exakt an der Position, die durch die lastIndex-Eigenschaft angegeben ist. |
Erfassungsgruppen und Ersetzungstoken
Runde Klammern (...) erzeugen nummerierte Erfassungsgruppen, die Teilmuster aus einem Gesamttreffer extrahieren. Benannte Erfassungsgruppen (?<name>...) weisen dem erfassten Inhalt sprechende Namen zu. Im Ersetzungsmodus können Sie mit standardisierten Tokens auf erfasste Gruppen verweisen:
$&: Fügt die gesamte gefundene Übereinstimmung ein.$1, $2, ... $n: Fügt die 1. bis n-te nummerierte Erfassungsgruppe ein.$<name>: Fügt die mitnamebenannte Gruppe ein.$`: Fügt den Textteil vor dem Treffer ein.$': Fügt den Textteil nach dem Treffer ein.$$: Erzeugt ein literales Dollarzeichen ($).
Häufige Fallstricke und Performance
Verschachtelte Quantifikatoren mit überlappenden Teilmustern (wie (a+)+$) können zu katastrophalem Backtracking (Catastrophic Backtracking) führen, bei dem die NFA-Engine exponentiell viele Permutationen durchläuft. Unser Tester läuft mit Sicherheitsprüfungen und Timeout-Schutz direkt in Ihrer Browsersitzung, um Abstürze zu verhindern.
100% Datenschutz – keine Serverübertragung
Testtexte enthalten häufig Protokolldateien, interne Datenbankauszüge oder Kunden-E-Mails. Alle Kompilierungs-, Abgleich- und Ersetzungsoperationen finden ausschließlich lokal in Ihrem Webbrowser mittels clientseitigem JavaScript statt. Es werden keine Daten an externe Server gesendet.
Häufig gestellte Fragen
Welcher Regex-Dialekt wird von diesem Tester verwendet?
Dieses Werkzeug nutzt die native ECMAScript (JavaScript) RegExp-Engine gemäß ECMA-262-Standard mit Unterstützung für die Flags g, i, m, s, u und y.
Was ist der Unterschied zwischen erfassenden und nicht-erfassenden Gruppen?
Normale Klammern (abc) speichern den Text zur späteren Wiederverwendung in Gruppen. Nicht-erfassende Gruppen (?:abc) gruppieren Ausdrücke für Quantifizierer (z. B. (?:abc)+), ohne zusätzlichen Speicheraufwand.
Was sind Lookaround-Assertionen?
Lookarounds sind Bedingungen mit Null-Länge: positives Lookahead (?=...), negatives Lookahead (?!...), positives Lookbehind (?<=...) und negatives Lookbehind (?<!...). Sie prüfen den umgebenden Kontext, ohne Zeichen für den Treffer zu konsumieren.
Warum findet mein regulärer Ausdruck nicht alle Treffer im Text?
Standardmäßig stoppt ein regulärer Ausdruck nach dem ersten Treffer. Aktivieren Sie das Global-Flag (g), um alle Vorkommen im gesamten Text zu erfassen.
Werden meine Testtexte oder Ausdrücke auf einem Server gespeichert?
Nein. Alle Auswertungen finden zu 100% lokal in Ihrem Browser statt. Keine Daten werden an fremde Server übertragen.