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.

//
Valid Regex Found 3 matches in 0.27 ms
Test String
227 chars4 lines
Visual Match Highlighting:
Welcome to DevTools Regex Tester! Contact support@example.com for developer assistance. Sales department can be reached at sales.team@company.co.uk or admin@subdomain.org. Feel free to test custom patterns or try presets above.
Match Inspector3 matches
Match #1Line 2 • [42:61]
support@example.com
Match #2Line 3 • [123:147]
sales.team@company.co.uk
Match #3Line 3 • [151:170]
admin@subdomain.org

Anleitung

1

Geben Sie Ihr reguläres Suchmuster in die Muster-Eingabeleiste ein.

2

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).

3

Fügen Sie Ihren Testtext in den Teststring-Editor ein.

4

Untersuchen Sie hervorgehobene Treffer, Start-/End-Offsets sowie nummerierte und benannte Erfassungsgruppen in der Treffer-Übersicht.

5

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

FlagNameStandard-Verhalten
gGlobalFindet alle Übereinstimmungen in der Eingabezeichenkette, anstatt nach dem ersten Treffer zu stoppen. Aktualisiert die lastIndex-Eigenschaft des RegExp-Objekts.
iIgnore CaseFührt eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung gemäß Unicode CaseFolding-Regeln durch.
mMultilineBehandelt die Anker ^ und $ als Zeilenanfang und Zeilenende (getrennt durch \n oder \r\n), statt nur als Anfang und Ende des gesamten Strings.
sDotAllErlaubt dem Wildcard-Punkt ., auch Zeilenumbruchzeichen (\n, \r, \u2028, \u2029) zu matchen.
uUnicodeAktiviert die vollständige UTF-16-Surrogatpaar-Behandlung und unterstützt Unicode-Property-Escapes wie \p{Letter} und \p{Script=Greek}.
yStickyPrü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 mit name benannte 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.