Kostenloser Online-Regex-Tester und Visualisierer. Schreiben Sie einen regulären JavaScript-Ausdruck und sehen Sie, wie er als interaktives Diagramm gezeichnet, in einfachem Englisch erklärt und live mit farbcodierten Erfassungsgruppen abgeglichen wird. Code ersetzen, extrahieren, Unit-Test durchführen und exportieren, keine Anmeldung erforderlich.
Ein Regex-Tester, der Ihnen zeigt, was Ihr Muster bedeutet
Testen, debuggen und verstehen Sie reguläre Ausdrücke an einem Ort. Geben Sie ein Muster ein und es wird sofort als interaktives Eisenbahndiagramm gezeichnet, Token für Token in einfachem Englisch erklärt und live mit Ihrem Text abgespielt, wobei jede Treffer- und Erfassungsgruppe farblich hervorgehoben wird. Ersetzen, extrahieren, teilen, schreiben Sie Unit-Tests, exportieren Sie Arbeitscode für 9 Sprachen und lassen Sie sich vor katastrophalem Backtracking warnen – alles in Ihrem Browser.
Die meisten Regex-Tester sagen Ihnen nur, ob ein Muster übereinstimmt. Dieser zeigt Ihnen auch warum. Während Sie tippen, wird der reguläre Ausdruck analysiert und als Eisenbahndiagramm gezeichnet: eine Karte von links nach rechts, bei der jeder Pfad durch das Diagramm eine Zeichenfolge ist, mit der das Muster übereinstimmen kann. Bewegen Sie den Mauszeiger über ein beliebiges Kästchen und die passenden Zeichen leuchten in Ihrem Muster auf, und eine Beschreibung in einfacher englischer Sprache erklärt Ihnen genau, was das Teil bewirkt. Bewegen Sie den Textcursor durch das Muster und das Diagramm folgt ihm. Darunter läuft Ihr Muster live mit Ihrem eigenen Testtext ab, wobei jede Übereinstimmung hervorgehoben und jede Erfassungsgruppe in einer eigenen Farbe angezeigt wird, sodass Sie gleichzeitig sehen können, was übereinstimmt und warum.
Merkmale
Interaktives Eisenbahndiagramm eines beliebigen Musters: Bewegen Sie den Mauszeiger über ein Kästchen, um es im regulären Ausdruck aufzuleuchten
Klare englische Erklärung aller Token, Gruppen, Quantoren und Lookarounds
Live-Match-Hervorhebung mit farbcodierten Erfassungsgruppen im Text
Klicken Sie auf eine Übereinstimmung, um direkt im Diagramm zu sehen, was jede Gruppe erfasst hat
Syntaxfarbener Mustereditor, der Ihrem Cursor folgt
Alle JavaScript-Flags: g, i, m, s, u, v (Unicode-Sets) und y
Ersetzen Sie durch $1, $<name>, $& und eine hervorgehobene Vorher/Nachher-Vorschau
Extrahieren Sie Übereinstimmungen in eine Liste mit Vorlagen, Eindeutigkeit/Sortierung, CSV- und JSON-Export
Teilen Sie Text durch einen regulären Ausdruck und Komponententests, die übereinstimmen müssen (oder nicht).
Code-Export für JavaScript, TypeScript, Python, PHP, Java, C#, Go, Rust und Ruby
Kompatibilitätstabelle: Sehen Sie, welche Funktionen in Python, PCRE, Go oder Rust nicht funktionieren
ReDoS-Guard: Läuft in einem Worker, stoppt außer Kontrolle geratene Muster und markiert verschachtelte Quantoren
Bibliothek mit 40 getesteten Mustern sowie einem Builder zum Generieren aus Beispielen
Anklickbares Cheatsheet, gespeicherte Muster und teilbare Links, 100 % in Ihrem Browser
So verwenden Sie Regex-Tester und Visualisierer
1
Geben Sie ein Muster ein
Geben Sie einen regulären Ausdruck ein (durch Einfügen von /pattern/flags wird er automatisch geteilt), wählen Sie einen aus der Musterbibliothek aus oder generieren Sie einen aus Beispielen auf der Registerkarte „Erstellen“.
2
Flags umschalten
Klicken Sie auf g, i, m, s, u, v oder y, um das Matching-Verhalten zu ändern; Bewegen Sie den Mauszeiger über eine Flagge, um zu sehen, was sie bewirkt.
3
Lesen Sie das visuelle Diagramm
Bewegen Sie den Mauszeiger über ein beliebiges Kästchen im Eisenbahndiagramm oder klicken Sie darauf oder wechseln Sie zu „Erklärung“, um zu sehen, was die einzelnen Teile des Musters bedeuten.
4
Testen Sie anhand Ihres Textes
Fügen Sie Text in die Testzeichenfolge ein. Spiele und Capture-Gruppen werden live hervorgehoben. Klicken Sie auf eine Übereinstimmung, um den Wert jeder Gruppe im Diagramm anzuzeigen.
5
Ersetzen, extrahieren oder testen
Verwenden Sie Ersetzungs-, Extraktions-, Teilungs- und Unit-Tests, um zu überprüfen, ob das Muster genau das tut, was Sie benötigen.
6
Exportieren oder teilen
Kopieren Sie den Arbeitscode für Ihre Sprache aus der Registerkarte „Code“, laden Sie das Diagramm als SVG/PNG herunter oder kopieren Sie einen Freigabelink.
Häufige Anwendungsfälle
Verstehen Sie einen komplexen regulären Ausdruck, den Sie geerbt haben, Diagrammfeld für Diagrammfeld
Debuggen Sie, warum ein regulärer Ausdruck nicht mit Ihren Daten übereinstimmt
Überprüfen Sie vor dem Versand ein E-Mail-, URL-, Telefon- oder Passwortmuster
Extrahieren Sie Felder aus Protokollzeilen mit benannten Erfassungsgruppen
Erstellen Sie ein Such- und Ersetzungsmodell mit Gruppenreferenzen und zeigen Sie es in der Vorschau an
Portieren Sie einen JavaScript-Regex nach Python, PHP, Go oder Java
Überprüfen Sie ein Muster für katastrophales Backtracking (ReDoS)
Lehren oder lernen Sie reguläre Ausdrücke mit einer visuellen Erklärung
Detaillierte Anleitung
So lesen Sie ein Regex-Eisenbahndiagramm
Eisenbahndiagramme (Syntax) werden wie eine Eisenbahnstrecke gelesen: Beginnen Sie beim Punkt links, folgen Sie einer beliebigen Route bis zum Ende, und die Zeichen, die Sie durchlaufen, bilden eine Zeichenfolge, die die Regex akzeptiert. Verzweigungen bedeuten Alternativen, eine Spur, die in einer Schleife darunter verläuft, bedeutet Wiederholung, und eine Spur, die ein Kästchen darüber umgeht, bedeutet, dass dieser Teil optional ist. Farbige Rahmen sind Erfassungsgruppen (die gleichen Farben werden in Ihren hervorgehobenen Übereinstimmungen verwendet), gestrichelte Rahmen sind Umgehungsrahmen, die prüfen, ohne Text zu verbrauchen, und pillenförmige Kästchen sind Anker, die eher einer Position als einem Zeichen entsprechen. Klicken Sie in den Ergebnissen auf eine Übereinstimmung und jeder Gruppenrahmen zeigt den genauen Wert an, den er erfasst hat, oder „Keine Übereinstimmung“, wenn diese Gruppe übersprungen wurde.
Im Diagramm
Regex-Syntax
Bedeutung
Kasten mit zitiertem Text
abc \. \N
Genau diese Charaktere
Box mit der Auflistung „eines von:“
[a-z0-9_]
Ein beliebiges einzelnes Zeichen aus der Menge
Feld mit der Auflistung „Keines von:“
[^\s@]
Jedes einzelne Zeichen, das NICHT im Satz enthalten ist
Grünes Kästchen (Ziffer, Wortzeichen…)
\d \w \s .
Eine Abkürzung für eine Zeichenklasse
Pillenförmige Box
^ $ \b
Ein Anker: eine Position, kein Charakter
Verfolgen Sie Aufteilungen in Zweige
Katze|Hund
Beide Alternativen
Verfolgen Sie die Schleifen wieder darunter
+ * {2,5}
Wiederholen (Aufschrift zeigt an, wie oft)
Gleisumgehungen oben
? * {0,3}
Der Teil ist optional
Gestrichelte Schleife
+? *?
Faul: So oft wie möglich wiederholen
Farbiger Rahmen „Name Nr. 1“
(…) (?<Name>…)
Erfassungsgruppe, von links nach rechts nummeriert
Gestrichelter Rahmen „gefolgt von:“
(?=…) (?!…) (?<=…)
Lookahead / Lookbehind
Regex-Spickzettel: die Syntax, die Sie jeden Tag verwenden werden
Öffnen Sie das integrierte Cheatsheet über dem Tester und klicken Sie auf ein beliebiges Token, um es an Ihrem Cursor einzufügen. Dies sind die Bausteine fast aller Muster:
Token
Streichhölzer
Beispiel
\d
Eine Ziffer 0-9
\d{4} entspricht 2026
\w
Buchstabe, Ziffer oder Unterstrich
\w+ entspricht user_42
\s
Leerzeichen (Leerzeichen, Tab, Newline)
a\sb entspricht 'a b'
.
Beliebiges Zeichen außer einem Zeilenumbruch
a.c entspricht abc, a-c
[abc] / [^abc]
Eines/keines der aufgeführten Zeichen
[aeiou] entspricht einem Vokal
^ und $
Anfang und Ende der Zeichenfolge (oder Zeile mit m)
^\d+$ besteht nur aus Ziffern
\b
Eine Wortgrenze
\bcat\b überspringt 'concatenate'
* + ?
0+, 1+ oder 0-1 Wiederholungen
Farbe passt zu Farbe, Farbe
{n,m}
Zwischen n und m Wiederholungen
\d{2,4}
(…) und (?<name>…)
Gruppe/benannte Gruppe erfassen
(?<Jahr>\d{4})
(?:…)
Gruppe ohne Erfassung
(?:ab)+
\1, \k<Name>
Gleicher Text wie eine frühere Gruppe
(\w)\1 entspricht 'll'
(?=…) (?!…)
Gefolgt von / nicht gefolgt von
\d+(?=px)
(?<=…) (?<!…)
Vorangestellt/ohne Voranstellung
(?<=\$)\d+
Regex-Flags erklärt
Flags ändern das Verhalten des gesamten Musters. Schalten Sie sie mit einem Klick um; Bewegen Sie den Mauszeiger über eine Flagge, um zu sehen, was sie bewirkt.
Flagge
Name
Wirkung
g
global
Finden Sie jede Übereinstimmung, anstatt beim ersten anzuhalten
i
Groß- und Kleinschreibung ignorieren
Die Buchstaben stimmen in Groß- und Kleinschreibung überein
m
mehrzeilig
^ und $ stimmen am Anfang/Ende jeder Zeile überein
s
dotAll
. passt auch zu Zeilenumbrüchen
u
Unicode
Behandelt Emoji- und Astralzeichen als ein Zeichen; aktiviert \p{…}
v
Unicode-Sets
Alles, was Sie tun, plus Mengenoperationen wie [\p{L}--[a-z]]
y
klebrig
Jedes Spiel muss genau dort beginnen, wo das vorherige endete
Ersetzen, extrahieren, teilen und Unit-Tests an einem Ort
Wechseln Sie zu Ersetzen, um eine Suchen-und-Ersetzen-Regel mit den Tokens $1, $<name>, $& und $$ zu erstellen. Das Ergebnis hebt jedes eingefügte Teil hervor, sodass Sie es überprüfen können, bevor Sie es mit echten Daten ausführen. Extract verwandelt jede Übereinstimmung mithilfe einer Vorlage (z. B. $2, $1, um zwei Gruppen auszutauschen) in eine Liste mit Eindeutigkeits- und Sortieroptionen sowie CSV- oder JSON-Export für Tabellenkalkulationen. Split zeigt genau, was String.split() zurückgibt, einschließlich erfasster Trennzeichen. Mithilfe von Unit-Tests können Sie das Verhalten genau bestimmen: Fügen Sie Zeichenfolgen hinzu, die übereinstimmen müssen, vollständig übereinstimmen müssen oder nicht übereinstimmen dürfen, und die Pass/Fail-Zählung wird bei jedem Tastendruck aktualisiert, sodass eine kleine Änderung an Ihrem Muster nie stillschweigend einen Fall auflöst, den Sie bereits behoben haben.
Katastrophales Backtracking (ReDoS) und wie dieser Tester Sie schützt
Einige Muster, wie zum Beispiel (a+)+$ oder (\w+\s?)*$, können auf exponentiell viele Arten zwischen ihren Wiederholungen aufgeteilt werden. Wenn die Eingabe fast übereinstimmt, probiert die Engine jede Kombination aus und kann einen Browser-Tab einfrieren oder einen Server herunterfahren, eine Schwachstelle, die als ReDoS (Regular Expression Denial of Service) bekannt ist. Dieser Tester führt jedes Muster in einem separaten Web Worker mit einem Limit von zwei Sekunden aus: Wenn die Engine hängen bleibt, wird sie gestoppt und Sie erhalten eine deutliche Warnung anstelle einer eingefrorenen Seite. Ein integrierter Linter markiert auch die riskante Form (eine wiederholte Gruppe, deren innerer Teil sich ebenfalls wiederholt), bevor Sie sie versenden, zusammen mit anderen häufigen Fehlern wie einem Punkt ohne Escapezeichen in einem Domainnamen, [A-z]-Bereichen und leeren Alternativen.
Verwenden Sie denselben regulären Ausdruck in Python, PHP, Java, C#, Go, Rust und Ruby
Der Tester führt die eigene JavaScript-Regex-Engine (ECMAScript) Ihres Browsers aus, sodass die Ergebnisse für JavaScript, TypeScript und Node.js exakt sind. Die Registerkarte „Code“ verwandelt Ihr Muster in einfügefertigen Code für acht weitere Sprachen und konvertiert die abweichenden Teile: Benannte Gruppen werden zu (?P<name>…) für Python, Flags werden zu RegexOptions für C# oder Inline (?i) für Go und Rust, und Ersatztokens werden für jede Sprache neu geschrieben. Eine Kompatibilitätstabelle listet alle von Ihrem Muster verwendeten Funktionen auf und gibt an, ob die einzelnen Engines diese unterstützen:
Beginnen Sie mit einem getesteten Muster oder generieren Sie eines aus Beispielen
Die Musterbibliothek enthält 40 vorgefertigte, getestete Ausdrücke, jeweils mit Beispieltext: E-Mail, URL, IPv4 und IPv6, E.164- und US-Telefonnummern, sichere Passwörter, UUIDs, semantische Versionen, britische Postleitzahlen, ISO- und TT/MM/JJJJ-Daten, Preise, Hashtags, @Erwähnungen, Markdown-Links, HTML-Tags, Apache/Nginx-Protokollzeilen, doppelte Wörter und mehr. Wenn Sie lieber mit Ihren Daten beginnen möchten, fügen Sie ein paar Beispiele in Build ein: Der Generator gruppiert Buchstaben, Ziffern und Symbole in einem Muster wie ^\d{4}-\d{2}-\d{2}$, das Sie verfeinern können. Build kann auch jeden Literaltext maskieren, also Zeichen wie . * ? ( ) $ stimmen genau überein.
Von Natur aus privat
Alles läuft lokal in der JavaScript-Engine Ihres Browsers: Nichts, was Sie eingeben, wird hochgeladen, protokolliert oder auf einem Server gespeichert. Ihre letzte Sitzung wird in diesem Browser gespeichert, sodass Sie dort weitermachen können, wo Sie aufgehört haben. Gespeicherte Muster bleiben auf Ihrem Gerät und Freigabelinks enthalten Muster, Text und Tests innerhalb der URL selbst, sodass auf unserer Seite nichts gespeichert wird.
Häufig gestellte Fragen
Welche Regex-Variante verwendet dieser Tester?
Es verwendet die eigene JavaScript-Engine (ECMAScript) Ihres Browsers für reguläre Ausdrücke, die auch von Chrome, Firefox, Safari und Node.js verwendet wird, einschließlich der Flags g, i, m, s, u, v und y. Die Ergebnisse sind für JavaScript und TypeScript genau; Auf der Registerkarte „Code“ wird das Muster für andere Sprachen konvertiert.
Kann ich Capture-Gruppen testen?
Ja. Für jede Übereinstimmung werden die Position und der Wert jeder nummerierten und benannten Gruppe aufgeführt. Gruppen werden in Ihrem Text farblich hervorgehoben, und wenn Sie auf eine Übereinstimmung klicken, wird der erfasste Wert jeder Gruppe direkt im Diagramm angezeigt.
Wie funktioniert die Ersetzungsvorschau?
Geben Sie einen Ersatz ein, indem Sie $1, $2 für nummerierte Gruppen, $<name> für benannte Gruppen, $& für die gesamte Übereinstimmung und $$ für ein wörtliches Dollarzeichen verwenden. Das Ergebnis wird live aktualisiert und hebt jedes eingefügte Stück hervor, genau so, wie String.replace() es erzeugen würde.
Sind meine Testdaten privat?
Ja. Der reguläre Ausdruck wird vollständig in Ihrem Browser in einem lokalen Web Worker ausgeführt. Ihre Muster und Testzeichenfolgen werden niemals hochgeladen; Gespeicherte Muster bleiben nur in diesem Browser erhalten.
Wie teste ich einen regulären Ausdruck anhand meines Textes?
Geben Sie Ihr Muster ein und fügen Sie Beispieltext ein; Übereinstimmungen werden live hervorgehoben und Erfassungsgruppen angezeigt, sodass Sie genau sehen können, was mit Ihrem regulären Ausdruck übereinstimmt, und ihn sofort verfeinern können.
Warum stimmt mein regulärer Ausdruck mit nichts überein?
Häufige Ursachen sind ein fehlendes Flag (i für case, m also ^ und $ funktionieren pro Zeile, s so . kreuzt Zeilenumbrüche), ein Sonderzeichen ohne Escapezeichen oder Syntax aus einer anderen Sprache. Bewegen Sie den Mauszeiger über das Diagramm, um zu sehen, was die einzelnen Teile erwarten, lesen Sie die Erklärung in Klartext und überprüfen Sie die Warnungen unter dem Muster.
Kann ich dasselbe Muster für JavaScript und andere Varianten testen?
Der Abgleich läuft auf der JavaScript-Engine und die Registerkarte „Code“ generiert Arbeitscode für Python, PHP, Java, C#, Go, Rust und Ruby und konvertiert benannte Gruppen, Flags und Ersetzungssyntax. Eine Kompatibilitätstabelle zeigt, welche Funktionen wie Lookbehind oder Rückverweise in den einzelnen Engines nicht unterstützt werden.
Was ist ein Regex-Visualizer oder ein Eisenbahndiagramm?
Ein Regex-Visualizer zeichnet einen regulären Ausdruck als Eisenbahndiagramm: eine Strecke, der Sie von links nach rechts folgen, wobei Abzweigungen Alternativen, Schleifen Wiederholungen und Umgehungen optionale Teile sind. Es macht lange Muster viel einfacher zu lesen als die reine Syntax. Hier ist das Diagramm interaktiv: Bewegen Sie den Mauszeiger über ein Kästchen, um es im Muster hervorzuheben und eine Erklärung in einfachem Englisch anzuzeigen.
Kann ich das Regex-Diagramm herunterladen?
Ja. Verwenden Sie die SVG- oder PNG-Schaltflächen über dem Diagramm, um es für Dokumentationen, Codeüberprüfungen oder Lehrmaterial herunterzuladen. Zoom- und Anpassungssteuerungen helfen bei langen Mustern.
Was ist katastrophales Backtracking (ReDoS)?
Dies geschieht, wenn ein Muster wie (a+)+$ denselben Text auf exponentiell viele Arten in verschachtelte Wiederholungen aufteilen kann, sodass eine Beinahe-Fehler-Eingabe dazu führt, dass die Engine sekunden- oder stundenlang läuft. Dieser Tester führt Muster in einem Web Worker aus, stoppt sie nach zwei Sekunden und warnt vor verschachtelten Quantifizierern, bevor Sie sie bereitstellen.
Wie konvertiere ich einen JavaScript-Regex in Python?
Öffnen Sie die Registerkarte „Code“ und wählen Sie „Python“. Das Tool schreibt (?<name>…) in (?P<name>…), \k<name> in (?P=name) um, ordnet die Flags i, m und s re.IGNORECASE, re.MULTILINE und re.DOTALL zu und konvertiert $1-Ersetzungen in \g<1>. Beachten Sie, dass das integrierte re-Modul von Python keine \p{…} Unicode-Eigenschaften unterstützt.
Was bedeuten die Regex-Flags g, i, m, s, u, v und y?
g findet alle Übereinstimmungen, i ignoriert die Groß-/Kleinschreibung, m sorgt dafür, dass ^ und $ in jeder Zeile funktionieren, s lässt . stimmt mit Zeilenumbrüchen überein, u aktiviert vollständige Unicode- und \p{…}-Eigenschaften, v fügt Unicode-Set-Operationen hinzu und y (sticky) stimmt nur mit der genauen Position überein, an der die letzte Übereinstimmung endete.
Was ist der Unterschied zwischen gierigen und faulen Quantoren?
Gierige Quantoren (*, +, {n,m}) stimmen so weit wie möglich überein und geben dann bei Bedarf Zeichen zurück; Lazy (*?, +?, {n,m}?) stimmen so wenig wie möglich überein und werden nur bei Bedarf erweitert. Beispielsweise entspricht <.+> einer ganzen Zeile von Tags, während <.+?> jeweils einem Tag entspricht. Im Diagramm ist eine Lazy-Loop gestrichelt eingezeichnet.
Wie funktionieren Lookahead und Lookbehind?
Sie prüfen, was nach (?=…) oder vor (?<=…) der aktuellen Position kommt, ohne es in die Übereinstimmung einzubeziehen; Die Negativformen (?!…) und (?<!…) erfordern, dass der Text NICHT vorhanden ist. Beispielsweise entspricht \d+(?=px) 12 in „12px“. JavaScript unterstützt Lookbehinds beliebiger Länge.
Kann dieses Tool einen regulären Ausdruck für mich generieren?
Ja. Fügen Sie ein paar Beispiele in die Registerkarte „Erstellen“ ein und es wird ein Muster durch Verallgemeinerung von Buchstaben, Ziffern und Symbolen vorgeschlagen (z. B. 2026-09-24 wird zu \d{4}-\d{2}-\d{2}). Sie können auch mit 40 getesteten Mustern in der Bibliothek beginnen, z. B. E-Mail-, URL-, IP-Adressen-, Telefonnummer-, Datums- und Passwortregeln.
Wie schreibe ich Komponententests für einen regulären Ausdruck?
Öffnen Sie die Registerkarte „Unit-Tests“ und fügen Sie Zeichenfolgen hinzu, die übereinstimmen, vollständig übereinstimmen oder nicht übereinstimmen sollten. Jeder Test wird bei jedem Tastendruck mit einem Pass/Fail-Zähler erneut ausgeführt, und „Zeilen importieren“ verwandelt jede Zeile Ihres Testtexts in einen Testfall.
Kann ich einen regulären Ausdruck mit jemandem teilen?
Klicken Sie auf den Link „Teilen“, um eine URL zu kopieren, die das genaue Muster, die Flags, den Testtext, die Ersetzung und die Komponententests erneut öffnet. Alles ist im Link selbst verschlüsselt, sodass nichts auf einem Server gespeichert wird.
Wie unterscheidet sich das von regex101 oder RegExr?
Mit regex101 können Sie zwischen mehreren Engines wie PCRE, Python und Java wechseln, was mit diesem Tool nicht möglich ist. Dieser Tester konzentriert sich auf die JavaScript-Engine, auf der Ihr Code tatsächlich läuft, und fügt ein interaktives Eisenbahndiagramm, Unit-Tests, ReDoS-Schutz, Code-Export für 9 Sprachen und eine Kompatibilitätstabelle hinzu, ohne dass ein Konto vorhanden ist und nichts hochgeladen wird.