Regex-Tester

Hervorgehobene Treffer und Gruppen

Keine Datenbank: AIMRAN speichert weder deine Dateien noch Texte oder Ergebnisse

Was ist Regex-Tester?

Reguläre Ausdrücke sind Muster zum Suchen von Text: E-Mails, Telefonnummern, Datumsangaben oder beliebige Formate. Mit diesem Tester schreibst du ein Muster und siehst sofort, welche Textteile passen – farbig markiert.

Außerdem zeigt er die Erfassungsgruppen jedes Treffers und lässt dich Ersetzungen testen. Ein Spickzettel mit der gängigsten Syntax ist dabei, damit du nicht suchen musst.

So funktioniert es

  1. Gib das Muster unter „Regulärer Ausdruck“ ein oder füge ein Literal /muster/flags ein.
  2. Aktiviere die benötigten Flags: g, i, m, s, u oder y.
  3. Füge den Text unter „Testtext“ ein und prüfe die markierten Treffer.
  4. Sieh dir die Gruppen jedes Treffers in der Liste an.
  5. Aktiviere „Ersetzen“ und nutze $1,
    lt;name> oder
    amp;, um den ersetzten Text zu sehen.

Vorteile

Technische Details

Verwendet wird die Regex-Engine von JavaScript (ECMAScript) mit Unterstützung für benannte Gruppen (?<name>…), Lookbehind, Unicode-Klassen mit dem Flag u und die Flags g, i, m, s (dotAll), u und y (sticky). Die Ausführung läuft in einem Web Worker mit einem Limit von 1,5 Sekunden: Löst ein Muster mit verschachtelten Quantoren wie (a+)+ katastrophales Backtracking aus, wird der Worker gestoppt und eine Warnung angezeigt. Bis zu 300 Treffer werden mit Position sowie nummerierten und benannten Gruppen aufgelistet. Die Ersetzung nutzt String.prototype.replace mit der Syntax $1,

lt;name> und
amp;. Syntaxfehler werden verständlich auf Deutsch erklärt.

Häufige Fragen

Was ist ein regulärer Ausdruck?

Ein Muster, das eine Menge von Zeichenketten beschreibt. \d{5} findet zum Beispiel jede Gruppe aus fünf Ziffern, etwa eine Postleitzahl.

Wofür ist das Flag g?

Damit werden alle Treffer im Text gesucht, nicht nur der erste. Ohne g zeigt der Tester nur den ersten an.

Wie nutze ich eine Erfassungsgruppe in der Ersetzung?

Mit $1, $2 … für nummerierte Gruppen,

lt;name> für benannte Gruppen und
amp; für den gesamten Treffer.

Funktioniert diese Regex in Python oder PHP genauso?

Die Grundsyntax ist sehr ähnlich, der Tester nutzt aber die JavaScript-Engine. Manche Funktionen, etwa possessive Gruppen, unterscheiden sich zwischen den Sprachen.

Warum hängt sich mein regulärer Ausdruck auf?

Wahrscheinlich wegen katastrophalem Backtracking durch verschachtelte Quantoren wie (a+)+. Der Tester bricht nach 1,5 Sekunden ab und warnt dich.

Weitere Tools: Entwickler