Regex Tester

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand Regex Tester

Dieser Tester lässt einen regulären Ausdruck auf Beispieltext laufen und zeigt jeden Treffer, seine Position und den Inhalt jeder Capture-Gruppe.

How it works

Das Muster wird mit der RegExp-Engine des Browsers kompiliert, was hier geschieht, ist also genau das, was in Node und im Browser geschieht – ECMAScript-Syntax, nicht PCRE oder RE2. Diese Engine arbeitet mit Backtracking: Scheitert ein Zweig, spult sie zurück und probiert die nächste Alternative, und deshalb kann ein Quantor innerhalb eines Quantors, etwa (a+)+$, gegen eine lange nicht passende Zeichenkette exponentiell viele Pfade durchlaufen. Das ist katastrophales Backtracking, und die Abbruchgrenze von zwei Sekunden ist hier dafür da, es abzufangen.

When to use it

  • Herausfinden, warum ein Validierungsmuster eine Eingabe ablehnt, die es akzeptieren sollte.
  • Felder aus Logzeilen extrahieren, bevor Sie sich auf den Parsing-Code festlegen.
  • Die Nummerierung der Capture-Gruppen prüfen, bevor Sie sie in eine Ersetzungszeichenkette einbauen.
  • Ein Muster gegen die unangenehmen Fälle testen – leere Zeichenkette, Nicht-ASCII-Text, mehrere Zeilen – statt gegen den Idealfall.

Watch out for

  • Der Tester läuft immer mit dem Flag global, damit Sie jeden Treffer sehen. Ihr eigener Code bekommt mit einem nicht-globalen Regex nur den ersten – und ein globaler Regex, der über mehrere Aufrufe hinweg wiederverwendet wird, trägt lastIndex mit sich, weshalb .test() bei derselben Zeichenkette zwischen true und false wechseln kann.
  • Ein Muster, das hier Sekunden braucht, braucht auch im Produktivbetrieb Sekunden. Läuft es jemals auf einem Server gegen von Nutzern gelieferte Eingaben, ist das ein Denial-of-Service-Vektor, und ein von Nutzern geliefertes Muster ist noch schlimmer.
  • \d, \w und \b sind in JavaScript rein ASCII. Ein aus Python oder Java kopiertes Muster, das sich auf unicode-fähige Klassen stützt, übersieht nicht-englische Eingaben stillschweigend.
  • Der Punkt trifft keinen Zeilenumbruch, solange Sie nicht das Flag s ergänzen, und ^ und $ verankern die gesamte Zeichenkette, solange Sie nicht m ergänzen.

Not the right tool for: E-Mail-Adressen zu validieren. Jeder Regex dafür ist entweder falsch oder unlesbar – prüfen Sie auf ein @ mit etwas auf beiden Seiten und schicken Sie dann eine Bestätigungsnachricht.

Frequently Asked Questions

Welche Regex-Variante wird verwendet?

Dieser Tester nutzt die eingebaute RegExp-Engine von JavaScript, die der ECMAScript-Regex-Syntax folgt. Es ist dieselbe Engine, die in Node.js und in Browsern läuft.

Welche Flags werden unterstützt?

JavaScript unterstützt: g (global), i (ohne Beachtung der Groß- und Kleinschreibung), m (multiline), s (dotAll), u (unicode) und y (sticky). Tragen Sie sie im Feld für die Flags ein.

Wie verwende ich Capture-Gruppen?

Verwenden Sie Klammern für Capture-Gruppen: (\w+). Benannte Gruppen schreiben sich (?<name>\w+). Die Ergebnisse zeigen sowohl die nummerierten als auch die benannten Gruppenwerte.

How to Use Regex Tester

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.