Regex-Tester
Teste Muster gegen echten Text, direkt in deinem Browser.
| # | Typ | Wert | Position |
|---|
Läuft in deinem Browser. Nichts, was du eingibst, wird irgendwohin gesendet.
- Live-Trefferhervorhebung
- Benannte und nummerierte Gruppen
- Läuft sicher in einem Worker
So testest du einen regulären Ausdruck
- Gib dein Muster ein und wähl die Flags, die du brauchst.
- Füg den Text ein, gegen den du testen willst.
- Prüf die hervorgehobenen Treffer, die Gruppentabelle, oder sieh eine Ersetzungsvorschau.
Regex-Syntax-Kurzreferenz
| Muster | Trifft |
|---|---|
| \d | Jede Ziffer, 0 bis 9 |
| \w | Jeder Buchstabe, jede Ziffer oder das Zeichen _ |
| \s | Jedes Leerraumzeichen |
| + | Ein- oder mehrmals das vorherige Token |
| * | Null- oder mehrmals das vorherige Token |
| ? | Null- oder einmal, oder macht einen Quantor faul |
| ^ und $ | Start und Ende des Strings oder der Zeile |
JavaScript-Regex-Funktionen
| Funktion | Syntax | Hinweis |
|---|---|---|
| Benannte Gruppen | (?<name>...) | Unterstützt seit ES2018 |
| Lookbehind | (?<=...) und (?<!...) | Unterstützt seit ES2018 |
| Unicode-Modus | u-Flag | Nötig für Unicode-Eigenschafts-Escapes wie \p{Letter} |
| Groß-/Kleinschreibung ignorieren | i-Flag | Gleiches Prinzip wie in den meisten anderen Sprachen |
Tipps zum Schreiben von Mustern
- Maskier Sonderzeichen wie . ( ) [ ] mit einem Backslash, wenn du das wörtliche Zeichen meinst.
- Nutz eine nicht erfassende Gruppe (?:...) zum Gruppieren, wenn du diesen Treffer später nicht referenzieren musst.
- Gierige Quantoren greifen so viel wie möglich. Füg ein ? danach hinzu, wie +?, für einen faulen Abgleich, der am erstmöglichen Punkt stoppt.
- Teste auch Grenzfälle, wie einen leeren String oder zusätzlichen Leerraum, nicht nur den Text, den du treffen erwartest.
Häufige Fragen zu Regex-Tester
Warum reagiert mein Muster nicht mehr?
Manche Muster können bei bestimmtem Text exponentiell zurückverfolgen (Backtracking). Der Abgleich läuft in einem Hintergrund-Worker mit einem Limit von 1,5 Sekunden, ein außer Kontrolle geratenes Muster wird also gestoppt, statt den Tab einzufrieren.
Was bedeuten die Flags?
g findet jeden Treffer statt nur den ersten, i ignoriert Groß-/Kleinschreibung, m lässt ^ und $ zeilenweise treffen, s lässt einen Punkt Zeilenumbrüche einschließen, u aktiviert den vollen Unicode-Modus, y verankert den Abgleich am letzten Index, und d fügt Start- und Endposition für jeden Treffer hinzu.
Ändert die Ersetzungsbox meinen Testtext?
Nein. Sie zeigt, was String.replace in einer separaten Ergebnisbox erzeugen würde, dein eingegebener Testtext bleibt also genau, wie er war.
Werden benannte Erfassungsgruppen unterstützt?
Ja. Schreib eine Gruppe als (?<name>...), und ihr Name erscheint neben der Gruppennummer in der Treffertabelle.
Wird mein Text irgendwohin gesendet?
Nein. Der Abgleich läuft in einem Worker innerhalb deines eigenen Browsertabs, nichts, was du eingibst, verlässt die Seite.
Welche Regex-Variante nutzt das hier?
Die native JavaScript-RegExp-Engine deines Browsers, dieselbe, die deine Muster ausführt, wenn du eine Web-App oder ein Node.js-Skript baust.
Was ist katastrophales Backtracking?
Das passiert, wenn ein Muster mit verschachtelten wiederholten Gruppen, wie (a+)+b, bei nur einem zusätzlichen Zeichen in der Eingabe exponentiell länger braucht, um zu scheitern. Das 1,5-Sekunden-Timeout des Workers hier fängt so ein Muster ab, bevor es die Seite einfrieren kann.
Können ^ und $ den Start und das Ende jeder Zeile treffen, nicht nur des ganzen Strings?
Ja, aktiviere das Flag m (mehrzeilig). Ohne es treffen ^ und $ nur den ganz Anfang und das ganz Ende des gesamten Testtexts.