Regex-Tester / Editor / Treffer-Visualisierer

Testen, visualisieren, ersetzen und erklären Sie reguläre Ausdrücke. Alles läuft in Ihrem Browser

⚙ Engine: JavaScript RegExp
Muster
Flags:
Einfügen:
Beispiele:
Testtext 0 Zeichen · 0 Zeilen
Hervorgehobene Treffer
Treffer: 0
Zeit:
Engine: JS RegExp
Treffertabelle
# Treffer Start Ende Länge Gruppen
Erfassungsgruppen
Ersetzungssyntax: $1 $2 Erfassungsgruppen · $& vollständiger Treffer · $` vor dem Treffer · $' nach dem Treffer · $$ literales $ · $<name> benannte Gruppe
Ersetzung
Quelltext
Ergebnis
Geben Sie oben ein Regex-Muster ein, um eine verständliche Erklärung zu sehen.

Klicken Sie auf ein Beispiel, um es in den Test-Tab zu laden und automatisch auszuführen.

Alle Regex-Tests, Treffer, Ersetzungen und Musteranalysen finden in Ihrem Browser statt. Ihre Texte und Muster werden nie an einen Server gesendet.

Tips

Automatische Ausführung für sofortiges Feedback

Mit aktivierter automatischer Ausführung werden die Ergebnisse während der Eingabe aktualisiert. Das Tool wendet Debouncing auf die Eingabe an, um die Oberfläche reaktionsfähig zu halten. Bei sehr großen Texten wird die automatische Ausführung automatisch deaktiviert, um Einfrieren zu verhindern.

Erfassungsgruppen verstehen

Klammern () erstellen Erfassungsgruppen. Klicken Sie auf einen Treffer in der Tabelle, um seine Gruppen zu sehen. Benannte Gruppen (?<name>...) machen Regex lesbarer und Ersetzungen einfacher mit $<name>.

Katastrophales Backtracking vermeiden

Verschachtelte Quantifizierer wie (a+)+ oder (a|a)*b können exponentielle Ausführungszeit verursachen. Halten Sie Muster einfach, verwenden Sie atomare Konstrukte wenn möglich und testen Sie mit Grenzfall-Eingaben.

Unterschiede der JavaScript-Engine

Dieses Tool verwendet JavaScript RegExp. Einige Funktionen wie possessive Quantifizierer und atomare Gruppen sind nicht verfügbar. Lookbehind erfordert einen modernen Browser. Python-, PCRE- und .NET-Regex können sich anders verhalten.

Häufige Anwendungsfälle

📝

Formularvalidierung

Testen Sie Email-, Telefon-, Datums- und Passwortmuster, bevor Sie sie in Ihre Frontend- oder Backend-Validierungslogik implementieren.

📊

Log-Analyse

Extrahieren Sie Zeitstempel, Fehlerstufen und Nachrichten aus Log-Dateien mit benannten Erfassungsgruppen. Kopieren Sie Treffer als JSON für weitere Verarbeitung.

🔍

Datenextraktion

Extrahieren Sie URLs, IP-Adressen, UUIDs oder Hex-Farben aus unstrukturiertem Text. Die Treffertabelle zeigt jedes Vorkommen mit Positionsdetails.

⚙️

Code-Refactoring

Verwenden Sie den Ersetzen-Tab, um Such- und Ersetzungsmuster zu testen, bevor Sie sie in Ihrer IDE anwenden. Unterstützt Erfassungsgruppenreferenzen wie $1 und $<name>.

📚

Regex lernen

Der Erklären-Tab zerlegt jedes Muster in verständliche Tokens. Kombiniert mit dem Spickzettel und den Beispielen ist es eine vollständige Lernumgebung.

Häufig gestellte Fragen

Was ist ein regulärer Ausdruck?
Ein regulärer Ausdruck (Regex) ist ein Muster, das eine Menge von Zeichenketten beschreibt. Er wird zum Suchen, Abgleichen und Bearbeiten von Text verwendet. Zum Beispiel passt \d+ auf eine oder mehrere Ziffern.
Verwendet dieses Tool JavaScript-Regex?
Ja. Dieses Tool verwendet die eingebaute JavaScript RegExp-Engine. Einige Syntax kann sich von PCRE (PHP), Python re, .NET oder Java-Regex unterscheiden. Das Engine-Label wird immer angezeigt.
Warum funktioniert meine Regex hier, aber nicht in Python?
Die Regex-Engines von JavaScript und Python unterscheiden sich in einigen Bereichen. Zum Beispiel muss Lookbehind in JS in einigen Browsern eine feste Länge haben, das \b-Verhalten mit Unicode ist unterschiedlich und possessive Quantifizierer sind in JS nicht verfügbar.
Was macht das globale (g) Flag?
Ohne das globale Flag wird nur der erste Treffer zurückgegeben. Mit aktiviertem g werden alle nicht überlappenden Treffer im gesamten Text gefunden und aufgelistet.
Warum wird nur ein Treffer angezeigt?
Das globale (g) Flag ist wahrscheinlich nicht aktiviert. Klicken Sie auf den g-Button in der Flag-Zeile, um es zu aktivieren und alle Treffer zu finden.
Was sind Erfassungsgruppen?
Klammern () in einer Regex erstellen Erfassungsgruppen, die den übereinstimmenden Text speichern. Gruppe 1 ist das erste Klammernpaar, Gruppe 2 das zweite usw. Benannte Gruppen verwenden die (?<name>...)-Syntax.
Wie funktionieren Ersetzungen wie $1?
Im Ersetzungsstring verweist $1 auf den Text der ersten Erfassungsgruppe, $2 auf die zweite usw. $& ist der gesamte Treffer. $<name> verweist auf eine benannte Gruppe.
Lädt dieses Tool meine Daten hoch?
Nein. Alle Regex-Tests, Treffer und Ersetzungen finden vollständig in Ihrem Browser mit JavaScript statt. Ihre Texte und Muster verlassen nie Ihr Gerät.
Warum ist mein Muster langsam?
Einige Muster verursachen katastrophales Backtracking — exponentielle Ausführungszeit bei bestimmten Eingaben. Vermeiden Sie verschachtelte Quantifizierer wie (a+)+, verwenden Sie spezifische Zeichenklassen statt .* und testen Sie mit großen Eingaben vorsichtig.
Was ist katastrophales Backtracking?
Wenn eine Regex-Engine viele Permutationen versucht, um einen Treffer zu finden und scheitert, kann die Ausführungszeit exponentiell wachsen. Dies passiert typischerweise mit mehrdeutigen Mustern wie (a+)+b bei der Eingabe "aaaaaaaac".
Kann ich benannte Gruppen testen?
Ja. Verwenden Sie die (?<name>...)-Syntax in Ihrem Muster. Benannte Gruppen erscheinen im Erfassungsgruppen-Panel und können in Ersetzungen mit $<name> referenziert werden.
Unterstützt dieses Tool Lookbehind?
Ja, in modernen Browsern. Lookbehind (?<=...) und (?<!...) werden in Chrome 62+, Firefox 78+ und Safari 16.4+ unterstützt. Ältere Browser können einen Fehler auslösen.