Regex-Tester — JavaScript-Regex
Bauen Sie eine reguläre Ausdrucksformel und sehen Sie sie live gegen Ihre Testzeichenfolge matchen (oder fehlschlagen). Capture-Gruppen, Flags und Replace-Vorschau alles live; nichts verlässt Ihren Browser.
Bauen Sie eine reguläre Ausdrucksformel und sehen Sie sie live gegen Ihre Testzeichenfolge matchen (oder fehlschlagen). Capture-Gruppen, Flags und Replace-Vorschau alles live; nichts verlässt Ihren Browser.
Reach out at <<hello@example.com>> or <<support@utility.test>> for help.
Eine reguläre Ausdrucksformel (Regex) ist eine kleine Sprache zur Beschreibung von Mustern in Text. Mit wenigen Zeichen können Sie E-Mails aus einem Absatz extrahieren, validieren, dass eine Postleitzahl dem Format eines Landes folgt, oder jeden snake_case-Bezeichner in einer Datei in camelCase umschreiben. Moderne JavaScript-Engines kompilieren eine Regex einmal und führen sie dann so schnell wie eine enge Schleife aus.
Dieser Tester nutzt die plattformeigene RegExp-Implementierung, also funktioniert hier alles auch zur Laufzeit in Node, Deno, Bun und jedem modernen Browser. Die Flags g, i, m, s, u und y ändern die Match-Semantik; Capture-Gruppen (die Klammern im Muster) sammeln Teilstrings, die Sie im Ersatz als $1, $2 etc. referenzieren können.
JavaScript- / ECMAScript-Regex (dieselbe Engine, gegen die Ihr Code laufen wird). Das heißt, Lookbehinds, benannte Gruppen (?<name>…) und Unicode-Property-Escapes \p{…} funktionieren alle. PCRE-spezifische Funktionen wie rekursive Muster werden nicht unterstützt.
Mit Backslash escapen: \., \?, \(, \). Innerhalb einer Zeichenklasse [.] ist der Punkt bereits literal, also matcht [.?] einen literalen Punkt oder ein Fragezeichen.
.* ist gierig — greift so viel wie möglich und backtrackt dann. .*? ist lazy — greift so wenig wie möglich und expandiert. Lazy für Inhalte zwischen Markierungen; gierig für ganze Zeilen.
Wenn Sie das Global-Flag (g) verwenden und dasselbe RegExp-Objekt wiederverwenden, schreitet lastIndex nach jedem exec() vor. Setzen Sie es zurück mit regex.lastIndex = 0, oder erstellen Sie bei jedem Aufruf eine neue RegExp. Dieser Tester setzt es zwischen Renderings für Sie zurück.
Nein. Alles läuft in Ihrem Browser über die native RegExp-Engine. Ihre Eingaben berühren unsere Server nie, der Tester ist auch mit sensiblen Daten wie einer Logzeile mit Tokens sicher.
Wo der Griff zu einer Regex sich in Sekunden auszahlt.
Eine E-Mail, eine Postleitzahl, eine Telefonnummer — eine knappe Regex ist schneller geschrieben als ein Parser und reicht, wenn Sie nur eine Plausibilitätsprüfung brauchen, bevor Daten weitergeleitet werden.
Holen Sie Request-IDs, IPs oder Statuscodes aus einem Log-Stream ohne JSON zu parsen. Capture-Gruppen liefern die Felder direkt.
Funktion umbenennen, Quote-Stil ändern oder einen veralteten API-Aufruf in einer ganzen Codebase aktualisieren, indem Sie ripgrep in sed pipen — beide sprechen Regex.
Die meisten Editoren (VS Code, JetBrains, Vim) bieten Regex-Suchen-und-Ersetzen. Testen Sie das Muster zuerst hier, um nicht eine Datei massenhaft zu beschädigen.
Gewohnheiten, die Regexes wartbar halten.
Wenn ein Wert ein ganzes Feld einnehmen soll, verankern Sie mit ^ am Anfang und $ am Ende. Ohne Anker matcht /\d+/ auch in 'abc123def' — meist nicht das, was Sie zur Validierung wollen.
[abc] ist schneller und klarer als (a|b|c). Verwenden Sie Alternation nur, wenn die Alternativen mehrzeichig sind.
JavaScript hat kein verbose-Flag, aber Sie können das Muster aus einem über mehrere Zeilen verteilten String-Literal zusammenbauen. Bei komplexen Mustern ist das ein viel besserer Lesbarkeitsgewinn als eine Mega-Zeile.
Versuchen Sie nicht, HTML, JSON oder etwas mit verschachtelter Struktur zu parsen. Verwenden Sie einen echten Parser (DOMParser, JSON.parse, ein AST). Regex glänzt bei flachen Textmustern, nicht bei baumartigen Daten.