Regex-Tester
Läuft in deinem Browser; nichts wird hochgeladen
Reguläre Ausdrücke in JavaScript an deinem Text testen, mit Capture-Gruppen und Ersetzung.
Test text
Type a pattern
Was ist ein regulärer Ausdruck?
Ein regulärer Ausdruck, kurz Regex, ist ein Muster, das eine Menge von Strings beschreibt. \d{3} steht für drei Ziffern, [a-z]+ für einen oder mehrere Kleinbuchstaben, und ^ und $ verankern einen Treffer am Anfang und Ende. Programme nutzen Muster, um Text zu finden, herauszuziehen, zu prüfen und zu ersetzen.
Teile eines Musters in Klammern sind Capture-Gruppen. Bei (\d{4})-(\d{2}) auf 2025-07 ist Gruppe 1 2025 und Gruppe 2 07. Benannte Gruppen wie (?<year>\d{4}) erlauben es, einen Teil über seinen Namen anzusprechen. Flags ändern das Verhalten des ganzen Musters: i ignoriert Groß- und Kleinschreibung, und g findet alle Treffer statt nur des ersten.
Dieser Tester nutzt RegExp aus JavaScript, die Engine in Browsern und Node.js, ein Muster, das hier funktioniert, funktioniert also genauso in JavaScript und TypeScript. Andere Sprachen teilen den Großteil der Syntax, aber nicht alles; die Fragen unten nennen die häufigsten Unterschiede.
So benutzt du dieses Tool
- 1Tippe ein Muster in das Feld zwischen den Schrägstrichen, ohne die Schrägstriche selbst. Presets lädt ein Muster mit Beispieltext.
- 2Schalte Flags in der Werkzeugleiste ein und aus:
gglobal,iGroß- und Kleinschreibung ignorieren,mmehrzeilig,sdotAll,uundvUnicode-Modi,ysticky unddGruppenindizes. Fahr mit der Maus über ein Flag, um zu sehen, was es macht. - 3Füge den zu durchsuchenden Text in Test text ein oder zieh eine Datei darauf. Treffer werden beim Tippen hervorgehoben und unter Matches mit Zeile, Spalte und Capture-Gruppen aufgelistet.
- 4Klick auf einen Treffer oder drück Enter im Musterfeld (anderswo F7), um ihn im Text zu markieren und seine Gruppen hervorgehoben zu sehen. Shift+Enter oder Shift+F7 geht zurück.
- 5Öffne Replace, um eine Ersetzung wie
$2/$1oder$<year>auszuprobieren und das Ergebnis zu sehen. Apply to test text schreibt es in den Text; Ctrl+Z macht das rückgängig.
Fehlerbehebung
- Nach 2 Sekunden abgebrochen
- Das Muster löst bei diesem Text katastrophales Backtracking aus: Verschachtelte Quantoren wie
(a+)+oder(.*,)*probieren exponentiell viele Möglichkeiten durch, bevor sie scheitern. Sorg dafür, dass jeder wiederholte Teil nur auf eine Weise passen kann, etwa mit[^,]*statt.*. Dasselbe Muster kann einen Server lahmlegen, deshalb wird es hier abgebrochen. - Das Muster funktioniert im Code, aber nicht hier, oder umgekehrt
- In einem String-Literal im Code wird jeder Backslash doppelt geschrieben (
"\\d+"). Hier tippst du das Muster selbst, mit einfachen Backslashes (\d+), so wie zwischen den Schrägstrichen von/\d+/. - Es wird nur ein Treffer gefunden
- Das Flag
gist aus. Ohne es hört die Suche nach dem ersten Treffer auf, und Replace ersetzt nur den ersten. ^oder$passen nur einmal- Ohne das Flag
mpassen sie nur ganz am Anfang und Ende des gesamten Textes. Schaltemein, damit sie an jeder Zeile passen. - Ungültiges Escape oder ungültige Gruppe mit dem Flag
u - Der Unicode-Modus ist strenger: Escapes ohne Bedeutung, etwa
\-außerhalb einer Zeichenklasse, werden zu Fehlern. Entferne den Backslash oder schalteuaus.
Häufige Fragen
Wie unterscheidet sich Regex in JavaScript von PCRE, Python oder Java?
JavaScript kennt keine possessiven Quantoren (a++) oder atomaren Gruppen ((?>…)), kein \A und \Z (nimm ^ und $ ohne das Flag m) und kein (?i) am Anfang eines Musters: Setz Flags stattdessen mit den Schaltern. Python schreibt benannte Gruppen als (?P<name>…), JavaScript als (?<name>…). Lookbehind, benannte Gruppen und Unicode-Property-Escapes wie \p{L} (mit u oder v) werden in aktuellen Browsern unterstützt.
Was ist der Unterschied zwischen den Flags m und s?
m (multiline) lässt ^ und $ an Anfang und Ende jeder Zeile passen. s (dotAll) lässt . auch auf Zeilenumbrüche passen; ohne es passt . auf jedes Zeichen außer einem Zeilenumbruch.
Ist die E-Mail-Vorlage ein vollständiger E-Mail-Validator?
Nein. Sie findet die übliche Form name@domain.tld in Text, was du beim Durchsuchen von Logs oder Responses meist willst. Der vollständige Adressstandard erlaubt viel mehr. Um eine Adresse zu prüfen, kontrolliere die Grundform und schick dann eine Bestätigungs-E-Mail.
Wird mein Text an einen Server geschickt?
Nein. Die Suche läuft in deinem Browser, in einem Hintergrund-Worker dieser Seite, und nichts wird hochgeladen. Damit nach einem Neuladen nichts verloren geht, bleiben Muster und Text im Session Storage dieses Tabs, bis du sie löschst oder den Tab schließt. Copy link legt die Eingabe hinter das # im Link; diesen Teil schicken Browser nie an einen Server, aber jeder, dem du den Link gibst, kann sie lesen.