Regex Tester
Teste reguläre Ausdrücke mit Live-Hervorhebung, Capture Groups und einer Replace-Vorschau — komplett im Browser.
Engine: reguläre Ausdrücke von JavaScript (ECMAScript), ausgeführt von deinem Browser. Das Verhalten kann sich von PCRE, Python, Go, Java oder .NET unterscheiden.
Pattern erklären
Gib ein Pattern ein, um es Token für Token erklärt zu bekommen.
Pattern-Bibliothek
Klicke auf ein Pattern, um es (mit Beispieltext) in den Tester zu laden.
Ein Testfall pro Zeile. Beginne mit „+ “, wenn das Pattern passen muss, oder mit „- “, wenn es NICHT passen darf (die Flags g und y werden hier ignoriert).
Code erzeugen
Gib ein Pattern ein, um Code zu erzeugen.
Das Pattern wird so kopiert, wie es geschrieben ist (nur benannte Gruppen, Flags und Ersetzungs-Tokens werden angepasst). Prüfe Lookbehind, Rückverweise und Unicode-Unterstützung in der Ziel-Engine.
- \d — beliebige Ziffer (0–9)
- \w — beliebiges Wortzeichen (Buchstabe, Ziffer, Unterstrich)
- \s — beliebiges Whitespace-Zeichen
- . — ein beliebiges Zeichen außer einem Zeilenumbruch
- ^ — Anfang des Strings (oder der Zeile, mit dem multiline-Flag)
- $ — Ende des Strings (oder der Zeile, mit dem multiline-Flag)
- * — null oder mehr des vorherigen Tokens
- + — ein oder mehr des vorherigen Tokens
- ? — null oder eins des vorherigen Tokens
- {n,m} — zwischen n und m Wiederholungen
- (...) — Capture Group, (?:...) — nicht erfassende Gruppe
- \b — Wortgrenze, | — Alternation (ODER)
Wie funktioniert das Testen eines Regex im Browser eigentlich?
Ein regulärer Ausdruck ist eine kompakte Mustersprache zum Abgleichen von Text — von „sieht das wie eine E-Mail-Adresse aus" über „finde jede Telefonnummer in diesem Dokument" bis hin zu „entferne alle HTML-Tags aus diesem String". Der Haken: Regex-Syntax lässt sich erfahrungsgemäß leicht subtil falsch schreiben — ein `.`, das eigentlich escaped werden müsste, ein gieriges `*`, das mehr verschluckt als beabsichtigt, eine Gruppe, die nicht das erfasst, was man erwartet. Einen Ausdruck blind zu schreiben und erst zu merken, dass er fehlerhaft ist, wenn er bereits gegen Produktionsdaten läuft, ist eine schlechte Art, diese Lektion zu lernen.
Dieses Tool läuft vollständig auf der eingebauten `RegExp`-Engine von JavaScript und führt deine Eingabe direkt im Browser aus, sobald du tippst — es gibt keinen Server, der involviert ist, sodass der getestete Text (der echte Nutzerdaten, Logzeilen oder alles andere enthalten kann, das du lieber nicht bei einem Drittanbieter-Dienst einfügen möchtest) deinen Rechner nie verlässt. Da es exakt dieselbe Engine ist, in der dein JavaScript-Code später produktiv läuft, entspricht das, was du hier siehst — welche Zeichen matchen, wie sich gierige Quantifizierer verhalten, ob eine Gruppe etwas erfasst hat — genau dem, was du zur Laufzeit bekommst, und nicht einer Annäherung aus einer anderen Regex-Variante.
Gib ein Pattern ein und aktiviere die Flags, die du brauchst: `g`, um jeden Treffer statt nur des ersten zu finden, `i` für einen Vergleich ohne Berücksichtigung von Groß-/Kleinschreibung, `m`, damit `^` und `$` Anfang/Ende jeder Zeile statt des gesamten Strings matchen, `s`, damit `.` auch Zeilenumbrüche matcht. Jeder Treffer in deinem Test-String wird live hervorgehoben, und jeder einzelne wird darunter aufgeschlüsselt nach vollständigem Treffertext, Position und allen Capture Groups — einschließlich benannter Gruppen wie `(?<year>\d{4})` — sodass du sofort siehst, ob die Gruppe, die du extrahieren wolltest, tatsächlich die ist, die gematcht hat. Der Bereich Ersetzen zeigt dir genau, was `String.replace()` mit deinem Pattern und einem Ersetzungstext erzeugen würde, einschließlich Gruppenverweisen wie `$1` oder `$<year>`.
Die Schnellübersicht darunter deckt die Tokens ab, die man mitten in der Arbeit am häufigsten vergisst — den Unterschied zwischen `*` und `+`, wofür eine nicht erfassende Gruppe `(?:...)` gut ist, wie `\b` eine Wortgrenze markiert — ohne dass du die Seite verlassen musst, um sie nachzuschlagen. Sobald du ein Pattern hast, das sich gegen realistische Testdaten so verhält, wie du es willst, kannst du es direkt in deinen Code übernehmen. Wenn du die umgebenden Daten selbst validieren oder neu formatieren musst, sind der JSON Formatter & Validator und der Text Diff Checker naheliegende Begleiter.
Häufig gestellte Fragen
Kann ein fehlerhaftes Regex-Pattern die Seite einfrieren?
Nein – das Matching läuft in einem eigenen Web Worker mit hartem Timeout, sodass selbst ein Pattern mit katastrophalem Backtracking deinen Tab nicht blockieren kann.
Zeigt das Tool benannte und nummerierte Capture Groups an?
Ja – jeder Treffer listet seine nummerierten Gruppen und alle benannten Gruppen wie (?<year>\d{4}) auf.
Kann ich eine Ersetzung in der Vorschau sehen, bevor ich sie im Code nutze?
Ja – der Bereich Ersetzen zeigt genau, was String.replace() ausgeben würde, einschließlich Gruppen-Rückverweisen.