Tool-Hinweise
Über Regex-Tester
Ein Regex Tester führt JavaScript-Regular-Expressions auf Text aus und zeigt Treffer, Capture Groups und Indizes live.
Nutzen Sie ihn für Email-, URL-, Log-, Extraktions- und Formularvalidierungsmuster lokal im Browser.
So nutzen Sie Regex Tester
- Geben Sie ein Muster ohne äußere / / ein.
- Aktivieren Sie g, i, m, s, u oder y nach Bedarf.
- Fügen Sie Testtext ein und prüfen Sie jeden Treffer, jede Capture Group und den Index.
Typische Einsatzfälle
- Prüfen, ob ein Formularmuster gültige Eingaben ablehnt.
- IDs, URLs oder Fehlercodes aus Logs und Text extrahieren.
- Greedy und lazy Quantifier vergleichen, um Match-Länge zu steuern.
Flags, Capture Groups und typische Fallen
JavaScript Regex reagiert empfindlich auf Flags, Escaping und Quantifier. Ein fehlender Backslash oder breites .* kann alles ändern.
- g liefert alle Treffer; ohne g sieht man meist den ersten.
- i ignoriert Großschreibung, m lässt ^ und $ pro Zeile arbeiten.
- Klammern erstellen Capture Groups; (?: ) vermeidet unnötige Captures.
- Starkes Backtracking kann lange Texte bremsen; vermeiden Sie tief verschachtelte Quantifier.
Häufige Fragen zu Regex-Tester
- Soll ich /pattern/g eingeben?
- Nein. Geben Sie nur das Pattern ein und setzen Sie Flags separat.
- Warum ist der Treffer länger als erwartet?
- .* und .+ sind standardmäßig greedy. Probieren Sie .*? oder eine spezifischere Zeichenklasse.
- Wird mein Testtext hochgeladen?
- Nein. Matching läuft lokal im Browser und wird nicht an wetool.site gesendet.
Regex Tester vs Produktionsvalidierung
Ein Tester liefert schnelles Feedback. Produktion braucht trotzdem Edge Cases, leere Werte, Unicode und Tests mit der Regex-Engine des Backends.
Catastrophic-Backtracking-Checkliste
Eine regex, die auf kurzen samples funktioniert, kann bei lange Eingaben hängen. Vor dem Einsatz nested quantifiers und broad wildcards prüfen.
- Explosive nested oder overlapping patterns wie (.*)+, (.+)+ oder (a|aa)+ vermeiden.
- Wenn möglich explicit character classes statt .* nutzen; für comma-delimited fields etwa [^,]*.
- User-controlled input length begrenzen und server-side timeouts setzen oder eine regex engine mit safe execution controls nutzen.
JavaScript regex vs andere Engines
Ein bestandener online tester garantiert kein identisches Backend-Verhalten. Flags, lookbehind, Unicode und named captures unterscheiden sich zwischen Engines.
- JavaScript g, i, m, s, u und y flags entsprechen PCRE, Python oder Go options nicht perfekt.
- Lookbehind, Unicode property escapes und named groups fehlen möglicherweise in älteren Browsern oder manchen backend runtimes.
- Vor Backend-Übernahme leere Werte, lange Eingaben, emoji und Fälle mit Zeilenumbrüchen mit Unit-Tests in der Zielsprache abdecken.