Regex-Test
Testen Sie reguläre JavaScript-Ausdrücke lokal mit g/i/m/s/u/y-Flags, Übereinstimmungszahlen, Capture- und benannten Gruppen, Zeilen-Spalten-Bereichen und nativer Ersetzungsvorschau.
/
/g
Testtext
Zeichen
0 / 50,000
Übereinstimmungsergebnisse
Geben Sie ein Muster ein, um den Abgleich zu starten
Ersetzungstext
Zeichen
0 / 50,000
Ersatzvorschau
Schnellstart
Häufige Anwendungsfälle
Datenextraktion
Mit (\d{4}-\d{2}-\d{2}) Datumsangaben extrahieren und mit ([\w.]+@[\w.]+) E-Mail-Adressen erfassen
Formatvalidierung
Regex schreiben, mehrere Beispiele einfügen und schnell prüfen, ob das Muster das Zielformat exakt trifft
Stapelweises Ersetzen
Mit Capture Groups Inhalte umstrukturieren. Zum Beispiel mit dem Muster (\S+)\s+(\S+) und der Ersetzung $2, $1 aus "Vorname Nachname" -> "Nachname, Vorname" machen
Benannte Gruppen
Verwenden Sie (?<Jahr>\d{4})-(?<Monat>\d{2})-(?<Tag>\d{2}), um Daten zu extrahieren, und verwenden Sie dann $<Jahr>/$<Monat>/$<Tag>, um sie neu zu erstellen
Regex lernen
Verschiedene Muster ausprobieren und das Match-Verhalten beobachten, um Quantifizierer, Anker und Zeichenklassen visuell zu verstehen
Mehrzeilige Verarbeitung
Das Flag m aktivieren, damit ^ und $ zeilenweise matchen; nützlich für Logs, Code und Konfigurationsdateien
Nutzungstipps
Einschränkungen und Kompatibilität
Datenschutz & Sicherheit
Häufige Fragen
Ein regulärer Ausdruck (Regex) ist eine Mustersprache zur Beschreibung von Textstrukturen. Betrachten Sie es als eine „erweiterte Suche“ – statt nach einem festen Wort zu suchen, suchen Sie nach allem, was einer Regel entspricht [\\w.]+@[\\w.]+ stimmt mit E-Mail-Adressen überein. Regex wird häufig verwendet für: Textsuche und -extraktion (Suchen von Fehlercodes in Protokollen), Formatvalidierung (Überprüfung von Telefonnummern) und Batch-Ersetzung (Konvertieren von Datumsformaten).\n\nFast jede Programmiersprache (JavaScript, Python, Java, Go usw.) und viele Tools (VS Code, grep, sed) unterstützen Regex mit größtenteils ähnlicher Syntax. Dieses Tool nutzt die JavaScript-RegExp-Engine für schnelles Online-Testen und Lernen.
JavaScript-Regex gibt standardmäßig nur die erste Übereinstimmung zurück – dies ist ein Verhalten der Sprachspezifikation, keine Toolbeschränkung. Klicken Sie in der Flaggenleiste auf die Schaltfläche „g“, um die globale Suche zu aktivieren und alle Übereinstimmungen anzuzeigen.\n\nBeachten Sie die Interaktion zwischen g und y: g durchsucht den gesamten Text von Anfang bis Ende, während y (sticky) erfordert, dass jede Übereinstimmung genau dort beginnt, wo die vorherige endete – wenn es Lückenzeichen zwischen Übereinstimmungen gibt, stoppt y bei der ersten Lücke. Normalerweise reicht es aus, nur g ohne y zu aktivieren.
Vier Ursachen kommen besonders häufig vor: 1. Nicht geschlossene Klammern: Jede ( braucht ein passendes ), jede [ ein passendes ]. IDEs ergänzen Klammern manchmal automatisch, dieses Tool prüft aber genau das eingegebene Muster. 2. Quantoren an der falschen Stelle: *, +, ?, {n} müssen direkt nach einem wiederholbaren Ausdruck stehen. Kombinationen wie *+ oder ?* sind ungültig; nicht-gierige Quantoren schreibt man als *? oder +?. 3. Unvollständige Escapes: Ein einzelnes \ am Ende ist ungültig. Escapen Sie ein konkretes Zeichen, zum Beispiel \d, \n oder \\. 4. Unicode-Properties ohne u-Flag: \p{L}, \p{Script=Han} und ähnliche Property Escapes benötigen in diesem Tool das u-Flag.
Diese Platzhalter stammen aus JavaScripts String.prototype.replace(): - $1, $2, ..., $99: Inhalt der jeweiligen Capture Group. - $&: der gesamte Treffer. - $`: Text vor dem Treffer. - $': Text nach dem Treffer. - $<name>: Inhalt einer benannten Gruppe (?<name>...). Beispiel: Das Muster (\w+)\s(\w+) passt auf „hello world“. Mit $2-$1 als Ersatz entsteht „world-hello“. Wenn ein tatsächliches $ im Ersatztext stehen soll, schreiben Sie $$.
Regex-Engines unterscheiden sich je nach Sprache vor allem in drei Punkten: 1. Syntaxumfang: JavaScript unterstützt keine PCRE-Rekursion (?R), keine bedingten Zweige (?(cond)yes|no) und keine atomaren Gruppen (?>...). Pythons re-Modul unterstützt sie ebenfalls nicht, das separate regex-Modul teilweise schon. Java unterstützt atomare Gruppen, aber keine Rekursion. 2. Unicode-Verhalten: JavaScripts \w steht hauptsächlich für einfache lateinische Buchstaben, Ziffern und Unterstrich. Das u-Flag lässt \w nicht automatisch chinesische Zeichen erkennen. Verwenden Sie für Unicode-Buchstaben Property Escapes wie \p{L} zusammen mit u. 3. Zeilenumbrüche: In Python passt . standardmäßig nicht auf \n, wie in JavaScript. Java Pattern.DOTALL verhält sich ähnlich wie das JavaScript-Flag s. Nutzen Sie dieses Tool für eine schnelle JavaScript-RegExp-Prüfung und bestätigen Sie das Ergebnis anschließend mit der Ziel-Engine.