Regex-Tester
Teste JavaScript-Regex gegen beliebige Strings und siehe Treffer sofort hervorgehoben. Capture-Gruppen, Flags und Positionen stehen in der Liste darunter.
Nutzt das native RegExp des Browsers — was hier funktioniert, läuft genauso in deinem JavaScript-Code.
Hervorgehoben
Treffer
Match list with capture groups will appear here.
JavaScript-Flavor
Dieser Tester nutzt das native RegExp des Browsers. Es unterstützt ECMAScript-Regex-Syntax, was nicht dasselbe ist wie PCRE (PHP, Perl) oder Python re. Manche Konstrukte aus anderen Engines fehlen oder verhalten sich anders:
- No possessive quantifiers (
a*+,a++). - No atomic groups
(?>...). - No conditional patterns
(?(1)yes|no). - Lookbehind
(?<=...)is supported in modern browsers but can fail in older engines. - Named groups use
(?<name>...)(not(?P<name>...)like Python).
Flag-Referenz
g— return all matches, not just the first.i— case-insensitive match.m—^and$match at line breaks, not only string edges.s— dot.also matches newlines.u— full Unicode mode;\p{...}property escapes enabled.y— sticky: match must start exactly atlastIndex.
Beispiele
Ein paar Patterns, die du oben einfügen kannst, um sie laufen zu sehen:
\d{4}-\d{2}-\d{2} # ISO-like dates
[\w.+-]+@[\w-]+\.[\w.-]+ # rough email
^https?:\/\/\S+ # URL at line start (needs m flag)
(?<year>\d{4})-(?<mo>\d{2}) # named groupsFAQ
Warum scheitert mein Pattern, das in PHP/Python läuft, hier?
Dieser Tester führt dein Pattern mit dem RegExp des Browsers aus, was ECMAScript-Flavor ist. PCRE-spezifische Features (possessive Quantifizierer, atomare Gruppen, Conditional Patterns) werden nicht unterstützt. Schreibe das Pattern in ECMAScript-kompatible Form um.
Mein Pattern hat die Seite kurz eingefroren. Warum?
Die Regex-Engine von JavaScript ist single-threaded und kann bei Patterns mit Catastrophic Backtracking (z. B. verschachtelte Quantifizierer wie (a+)+$) langsam sein. Das Tool deckelt die Treffer-Liste bei 1000, um den Schaden zu begrenzen, der Match selbst läuft aber auf der Seite.
Wie matche ich über mehrere Zeilen?
Nutze das Flag s, wenn . auch auf Zeilenumbrüche matchen soll, und das Flag m, wenn ^/$ an jeder Zeile verankern sollen.
Werden mein Pattern und Testtext irgendwohin gesendet?
Nein. Die Regex läuft komplett im Browser. Es wird nichts hochgeladen.