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

Highlighted matches will appear here.

Treffer

Match list with capture groups will appear here.
Edit the pattern or test string, then press Test (Cmd/Ctrl+Enter).

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 at lastIndex.

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 groups

FAQ

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.

Verwandte Werkzeuge