Zum Inhalt springen
Kostenlos, ohne Anmeldung, im Browser

Regex Tester: reguläre Ausdrücke online testen

Mit dem Regex Tester testest du reguläre Ausdrücke online gegen die JavaScript-Engine deines Browsers. Treffer werden markiert und mit Position und Capture-Groups aufgelistet, z. B. findet \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b in einem Kontakttext 2 E-Mail-Adressen samt Name und Domain. Pattern und Text verlassen deinen Browser nicht.

Gebaut von Jakub Martyniak

Das Muster geht live? Betreibe deine App auf einem vServer mit vollem Root-Zugriff.

Eingabe

//g

Ergebnis

Gib links ein Pattern ein, um Treffer zu sehen.

Beispiel-Ergebnis

So sieht ein Ergebnis im Regex Tester aus

Du gibst ein Pattern und einen Text ein, das Tool listet jeden Treffer mit Position und Capture-Groups und zeigt im Ersetzen-Modus den Text nach der Ersetzung. Das Beispiel unten nutzt erfundene Adressen, deine Treffer hängen von deinem Pattern und Text ab.

Beispiel · Flag g (alle Treffer)

2 Treffer

Eingabe

Pattern
\b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b
Gruppe 1 fängt den Teil vor dem @, Gruppe 2 die Domain.
Test-Text
info@example.com, support@example.org, no-at.example.net

Ausgabe

Treffer 1
info@example.com
Index 0 · Gruppe 1: info · Gruppe 2: example.com
Treffer 2
support@example.org
Index 18 · Gruppe 1: support · Gruppe 2: example.org
Ersetzen mit $1 [at] $2
info [at] example.com, support [at] example.org, no-at.example.net
Die Adresse ohne @ wird nicht erkannt und bleibt unverändert.

Warum dieses Tool

Mehr als nur ein Match-Test

Die wichtigsten Funktionen des Regex Testers im Überblick.

Treffer markiert und gezählt

Nach einer kurzen Tipppause zählt das Tool alle Treffer und markiert sie im Ergebnis, bei sehr vielen Treffern die ersten 1000.

Capture-Groups im Blick

Jeder Treffer steht mit Index in einer Liste, darunter seine nummerierten und benannten Capture-Groups einzeln.

Flags g, i, m, s und u

Die fünf Flags per Checkbox umschalten, mit derselben Bedeutung wie in JavaScript-Code. g ist standardmäßig aktiv.

Ersetzen-Modus

Ersetzt Treffer per String.prototype.replace() mit $1, $2 für Capture-Groups. Das Ergebnis kopierst du mit einem Klick.

Schutz vor Catastrophic Backtracking

Die Auswertung läuft in einem Web Worker und wird nach 1 Sekunde abgebrochen, damit ein Pattern wie (a+)+ den Tab nicht einfriert.

Läuft nur im Browser

Pattern und Test-Text laufen ausschließlich clientseitig - nichts wird an einen Server gesendet.

Anleitung

So testest du reguläre Ausdrücke online

Vom Pattern bis zum kopierten Ergebnis: so nutzt du den Regex Tester.

Schritt 1

Modus wählen

Wähle oben den Modus „Treffer finden“, um Treffer zu prüfen, oder „Ersetzen“, um Text zu ersetzen.

Schritt 2

Pattern eingeben

Gib deinen regulären Ausdruck ohne Slashes in das Feld „Pattern“ ein oder lade mit „Beispiel laden“ ein E-Mail-Pattern samt Beispieltext.

Schritt 3

Flags setzen

Schalte die Flags g, i, m, s oder u per Checkbox um. g ist standardmäßig aktiv, die aktiven Flags stehen hinter dem Pattern, z. B. /g.

Schritt 4

Test-Text einfügen

Füge deinen Text in das Feld „Test-Text“ ein. Nach einer kurzen Tipppause werden die Treffer im Ergebnis markiert und oben gezählt.

Schritt 5

Treffer prüfen und kopieren

Die Trefferliste zeigt jeden Treffer mit Index und Capture-Groups. Mit dem Kopier-Button kopierst du alle Treffer, einen pro Zeile.

Schritt 6

Ersetzen und Ergebnis kopieren

Im Modus „Ersetzen“ gibst du im Feld „Ersetzen durch“ den neuen Text mit $1, $2 für Capture-Groups ein und kopierst das Ergebnis per Kopier-Button.

Spickzettel

Regex-Spickzettel: die wichtigsten Bausteine

Ein regulärer Ausdruck (Regex) ist ein Suchmuster für Text: Damit findest, prüfst, extrahierst oder ersetzt du Zeichenfolgen wie E-Mail-Adressen, Datumsangaben oder Log-Einträge. Diese Bausteine der JavaScript-Syntax kannst du oben direkt im Regex Tester ausprobieren.

TokenBedeutung
.Ein beliebiges Zeichen außer Zeilenumbruch, mit Flag s auch Zeilenumbrüche
\dEine Ziffer von 0 bis 9
\wWortzeichen: nur A–Z, a–z, 0–9 und _, also keine Buchstaben wie ä, é oder ñ
\sLeerraum wie Leerzeichen, Tab oder Zeilenumbruch
\p{L}Ein beliebiger Buchstabe, auch mit Umlaut oder Akzent, nur mit Flag u
\bWortgrenze, z. B. \bRegex\b für genau dieses Wort
^ $Anfang und Ende des Textes, mit Flag m von jeder Zeile
[abc]Eines der Zeichen a, b oder c
[^abc]Jedes Zeichen außer a, b und c
a|ba oder b
* + ?Null oder mehr, ein oder mehr, null oder ein Vorkommen
{2,5}Zwei bis fünf Wiederholungen
.*?Ein angehängtes ? macht den Quantifizierer genügsam (lazy): so wenige Zeichen wie möglich
( … )Capture-Group, im Regex Tester als Gruppe 1, 2 usw. aufgelistet
(?<name> … )Benannte Capture-Group, im Regex Tester zusätzlich unter ihrem Namen aufgelistet
(?: … )Gruppe ohne Capture, z. B. für Alternativen oder Quantifizierer
(?= … ) (?! … )Lookahead: nur wenn danach … folgt bzw. nicht folgt
\.Backslash vor einem Sonderzeichen nimmt es wörtlich, z. B. \. für einen Punkt

Mehr entdecken

Weitere Tools

FAQ

Häufig gestellte Fragen zum Regex Tester

Kurze Antworten rund um reguläre Ausdrücke und dieses Tool.

Eine Liste aller Treffer mit Position und Capture-Groups. Das Pattern \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b findet im Text „info@example.com, support@example.org, no-at.example.net“ 2 Treffer: info@example.com ab Index 0 und support@example.org ab Index 18, jeweils mit Name und Domain als Gruppe 1 und 2. Im Ersetzen-Modus wird mit $1 [at] $2 daraus „info [at] example.com, support [at] example.org, no-at.example.net“.

Ja. Der Regex Tester ist kostenlos und braucht kein Konto: Seite öffnen, Pattern und Test-Text eingeben und die Treffer prüfen.

Nein. Die Auswertung läuft in deinem Browser, in einem Web Worker mit der eigenen RegExp-Engine des Browsers. Nichts wird hochgeladen oder geloggt. Das ist wichtig, weil Test-Texte oft echte Log-Zeilen oder E-Mail-Adressen enthalten.

Die native JavaScript-Engine (ECMAScript) deines Browsers, also dieselbe Regex-Syntax wie in JavaScript, TypeScript und Node.js. PCRE (PHP, Perl) und Pythons re-Modul weichen in Details ab: \K gibt es in JavaScript nicht, und benannte Gruppen schreibst du als (?<name>…) statt (?P<name>…).

g (global) liefert alle Treffer und ist standardmäßig aktiv. Ohne g verhält sich das Tool wie RegExp.exec() und liefert höchstens einen Treffer. i ignoriert Groß- und Kleinschreibung, m lässt ^ und $ an jedem Zeilenanfang und -ende greifen, s lässt den Punkt auch Zeilenumbrüche treffen, und u aktiviert den Unicode-Modus, den du z. B. für \p{L} brauchst.

Wechsle in den Modus „Ersetzen“ und gib im Feld „Ersetzen durch“ den neuen Text ein. Mit $1, $2 usw. setzt du Capture-Groups ein, mit $<name> benannte Gruppen. Das Tool nutzt String.prototype.replace(): Ohne das Flag g wird nur der erste Treffer ersetzt. Das Ergebnis kopierst du per Kopier-Button.

Ja. Unter jedem Treffer stehen seine Capture-Groups: nummerierte als 1, 2 usw., benannte wie (?<jahr>\d{4}) zusätzlich unter ihrem Namen. Hat eine Gruppe nichts erfasst, steht dort „(kein Treffer)“.

Bei einem ungültigen Pattern, etwa einer nicht geschlossenen Klammer, zeigt das Tool die Fehlermeldung der Browser-Engine an. Dauert die Auswertung länger als 1 Sekunde, wird sie abgebrochen: Meist ist das Pattern dann anfällig für Catastrophic Backtracking, z. B. durch verschachtelte Quantifizierer wie (a+)+. Vereinfache das Pattern oder kürze den Test-Text.

Die Trefferzahl ist immer exakt. Markiert werden höchstens die ersten 1000 Treffer, aufgelistet die ersten 200, jeweils mit Index und Capture-Groups. Sind es mehr als 200, weist ein Hinweis über dem markierten Text darauf hin.

Noch weitere Fragen?

Support kontaktieren
Baust du gerade etwas Eigenes?

Deine Anwendung braucht einen zuverlässigen Server dahinter

Ein ZAP-Hosting vServer bringt deine Anwendung oder dein Projekt zuverlässig online.

4,4/5 Trustpilot32.000+ Aktive ServerSeit 2010

Kein Setup. Kein Risiko. In Sekunden online.

Flexible LaufzeitJederzeit kündbarIn 60 Sekunden online

Auf der Suche nach weiteren Tools? Alle Entwickler-Tools ansehen