Regex testen

Teste reguläre Ausdrücke und sieh die Treffer farbig markiert. Gruppeninhalte und das Ergebnis der Ersetzung erscheinen sofort.

Regulärer Ausdruck und Text

Flags

0 Zeichen · 0 Zeilen

Ergebnis

Anzeige

Gib einen regulären Ausdruck und einen Text ein – die Treffer werden farbig markiert.

Alles wird auf diesem Gerät verarbeitet. Was du eingibst, wird nirgendwohin gesendet.

Verwendet reguläre Ausdrücke von JavaScript (Browser). Die Syntax kann etwas von Python, PHP, Java usw. abweichen.

Hilfreich? Wir freuen uns, wenn du es teilst

Funktioniert etwas nicht, oder hast du eine Idee zur Verbesserung?

So funktioniert’s

  1. 1. Regulären Ausdruck eingeben

    Gib unter „Regulärer Ausdruck“ ein, wonach du suchst. Umständlich zu tippende Symbole wie \d oder [ ] fügst du per Tippen auf die Schaltflächen unter dem Feld an der Cursorposition ein. Du kannst auch unter „Häufiges Muster wählen“ ein Muster wie E-Mail-Adresse oder Datum nehmen. Tippe oben rechts am Feld auf „Erklären“, um für jeden Teil zu sehen, worauf er passt.

  2. 2. Text eingeben

    Füge den Text unter „Testtext“ ein oder tippe ihn (mit „Beispiel“ kommt ein Beispieltext hinein). Darunter unter „Ergebnis“ werden die Treffer sofort farbig markiert, und ihre Anzahl erscheint.

  3. 3. Flags umschalten und Trefferliste ansehen

    Schalte bei „Flags“ „g Alle“ aus, um nur den ersten Treffer zu suchen (wieder an, um alle zu suchen). Die „Trefferliste“ darunter zeigt zu jedem Treffer die Position und den Inhalt der Gruppen ($1, <year> usw.). Tippe auf eine Zeile, um die Stelle im Text darüber auszuwählen.

  4. 4. Nur die Treffer herausziehen

    Wähle über „Ergebnis“ die Option „Herausziehen“ – dann stehen nur die Treffer da, einer pro Zeile. Hat der Ausdruck Gruppen, kannst du im Auswahlfeld „Ganzer Treffer“ stattdessen eine Gruppe wie <year> wählen. Mit „Duplikate entfernen“ bleibt jeder Wert nur einmal. „Treffer kopieren“ kopiert die Liste, „Als Text speichern“ speichert sie als Datei.

  5. 5. Ersetzen ausprobieren und kopieren

    Wähle über „Ergebnis“ die Option „Ersetzen“ und gib unter „Ersetzen durch“ etwa $<day>/$<month>/$<year> ein – der ersetzte Text erscheint sofort. Tippe auf „Ergebnis kopieren“, um ihn zu kopieren.

Praktisch, wenn du

  • prüfen willst, ob dein regulärer Ausdruck stimmt

    Bevor er in den Code kommt, siehst du an den Farben auf einen Blick, ob er genau das Gewünschte trifft – und nicht mehr. Ist er fertig, wählst du eine Sprache wie Python, PHP oder Go und kopierst ihn so, dass du ihn direkt in den Code einfügen kannst.

    Webentwickler und alle, die Programmieren lernen

  • einen fremden regulären Ausdruck verstehen willst

    Füge einen Ausdruck aus übernommenem Code oder einem Artikel ein und drück auf „Erklären“: Für jeden Teil steht in wenigen Worten, worauf er passt, etwa „Eine Ziffer, 4-mal“.

    Alle, die Code lesen, und alle, die Programmieren lernen

  • Daten mit festem Format aus Logs oder Tabellen ziehen willst

    Suche E-Mail-Adressen, Daten oder Bestellnummern, liste sie mit „Herausziehen“ einen pro Zeile auf und kopiere sie oder speichere sie als Textdatei.

    Datenauswerter und Support-Teams

  • nur eine Gruppe sammeln willst, ohne Duplikate

    Zieh nur den Teil in ( ) heraus, etwa die Domain einer E-Mail-Adresse oder den Hostnamen einer URL. Mit „Duplikate entfernen“ schrumpft auch eine Liste voller Wiederholungen auf je einen Eintrag.

    Datenauswerter und Web-Teams

  • eine Ersetzung testen willst, bevor du alles änderst

    Vor dem Massenersetzen im Editor oder in der Tabellenkalkulation siehst du, was $1 und Co. ergeben.

    Alle, die Texte und Tabellen aufräumen

  • eine Formularprüfung baust

    Entwickle den Ausdruck für Postleitzahlen oder Telefonnummern und teste ihn dabei mit allen möglichen Eingaben.

    Alle, die Formulare bauen

Gut zu wissen

  • Verwendet reguläre Ausdrücke von JavaScript. Syntax, die es nur in Python, PHP, Java oder .NET gibt (possessive Quantoren wie ++, (?i) usw.), funktioniert nicht.
  • Beim Kopieren für eine andere Sprache werden Unterschiede in der Schreibweise angepasst, soweit es geht. Was sich nicht anpassen lässt (etwa Lookbehind in Go), wird kurz gemeldet – teste den Ausdruck also auch in der Sprache selbst.
  • Zu langsame Ausdrücke werden nach 2 Sekunden mit einem Hinweis abgebrochen. Verringere dann die verschachtelten Wiederholungen.
  • Die Liste zeigt die ersten 300 Treffer, markiert und herausgezogen werden die ersten 5.000 (gezählt wird immer bis zum Ende).

Über das Testen regulärer Ausdrücke

Ein regulärer Ausdruck beschreibt die Form eines Texts – etwa „vier Ziffern hintereinander“ oder „Buchstaben und Ziffern links und rechts eines @“ – mit kurzen Symbolen wie \d{4} oder [\w.]+@[\w.]+. Er wird in vielen Programmen und Editoren zum Suchen, Ersetzen und Prüfen genutzt, aber schon ein kleiner Fehler genügt, und er trifft etwas anderes als gedacht.

Dieses Tool prüft den Ausdruck bei jeder Eingabe mit der JavaScript-Engine des Browsers und markiert die Treffer farbig. Zu jedem Treffer zeigt es auch den Inhalt der Gruppen (Teile in ( )) und benannten Gruppen ((?<Name>…)), damit du siehst, ob du genau das Richtige herausziehst. Selbst Ausdrücke, die nie fertig werden, wie (a+)+, laufen separat mit Zeitlimit, damit die Seite nicht hängt.

Die Flags im Vergleich
Wenn eingeschaltetGeeignet für
g (Alle)Sucht alle TrefferHerausziehen, alles ersetzen
i (Groß/klein egal)Behandelt A und a als dasselbe ZeichenWörter suchen
m (Zeilenweise)^ und $ passen auf Anfang und Ende jeder ZeileZeilenweise Prüfung, Logs
s (. inkl. Umbrüche). passt auch auf ZeilenumbrücheStellen über mehrere Zeilen
u (Unicode)Behandelt Emojis als ein Zeichen und erlaubt \p{…}Texte mit Umlauten, Kanji oder Emojis

Häufige Fragen

Antworten auf Fragen, die beim Testen regulärer Ausdrücke oft auftauchen.

Werden mein Text oder mein regulärer Ausdruck irgendwohin gesendet?

Nein. Alles wird im Browser deines Geräts geprüft – weder Text noch Ausdruck werden an einen Server gesendet oder gespeichert. Du kannst es also auch mit internen Logs oder Texten mit personenbezogenen Daten nutzen.

Welche Art von regulären Ausdrücken wird verwendet?

Die von JavaScript (RegExp im Browser). Benannte Gruppen (?<Name>…), Lookbehind (?<=…), \p{…} (mit dem Flag u) und mehr werden unterstützt. Im Detail kann die Syntax von Python, PHP, Java usw. abweichen – wenn du den Ausdruck in einer anderen Sprache nutzt, wirf auch einen Blick in deren Doku.

Kann ich den Ausdruck in Python- oder PHP-Code verwenden?

Ja. Wähle oben rechts am Feld „Regulärer Ausdruck“ JavaScript, Python, PHP, Java, Ruby oder Go und drück auf die Kopier-Schaltfläche – der Ausdruck wird als Code für diese Sprache kopiert. Unterschiede in der Schreibweise werden angepasst, etwa (?P<Name>…) in Python, \A und \z in Ruby oder (?i) in Go. Was die Sprache nicht ausdrücken kann, wie Lookbehind in Go, wird kurz unter dem Feld gemeldet. Die gewählte Sprache bleibt beim nächsten Öffnen erhalten.

Kann ich etwas wie /abc/gi einfügen?

Ja. Fügst du /abc/gi ein, während „Regulärer Ausdruck“ leer ist, wird es in Ausdruck und Flags aufgeteilt. Umgekehrt wählst du oben rechts am Feld „JavaScript“ und drückst auf die Kopier-Schaltfläche: Der aktuelle Ausdruck wird als /…/ kopiert, fertig zum Einfügen in JavaScript-Code.

Kann ich mir erklären lassen, was ein Ausdruck bedeutet?

Drück oben rechts am Feld „Regulärer Ausdruck“ auf „Erklären“. Der Ausdruck wird in Teile zerlegt, und zu jedem steht, worauf er passt, etwa „Eine Ziffer, 4-mal“ oder „Gruppe mit Namen year“. Der Inhalt von Gruppen ist eingerückt, so siehst du auch, welche Klammern zusammengehören.

Kann ich nur die Treffer als Liste bekommen?

Wähle „Herausziehen“, dann stehen die Treffer einer pro Zeile da. Hat der Ausdruck Gruppen, kannst du auch nur diesen Teil wählen ($1, <Name>). Mit „Duplikate entfernen“ bleibt jeder Wert nur einmal; danach kopierst du die Liste oder speicherst sie als Textdatei. Ist das Flag g aus, gibt es nur den ersten Treffer.

Wo sehe ich den Inhalt der Gruppen?

In der „Trefferliste“ rechts steht zu jedem Treffer der Inhalt von $1, $2 … (bei benannten Gruppen <Name>). Gruppen ohne Treffer zeigen „(kein Treffer)“.

Was kann ich beim Ersetzen verwenden?

Wähle „Ersetzen“ und nutze unter „Ersetzen durch“ $1, $2 … (Gruppen), $<Name> (benannte Gruppen), $& (der ganze Treffer) und $$ (ein echtes $). Ist das Flag g an, wird alles ersetzt, sonst nur der erste Treffer.

Es erscheint „Abgebrochen, weil es zu lange dauerte“

Ausdrücke mit verschachtelten Wiederholungen wie (a+)+ oder (.*)* können bei nicht passenden Texten explodierenden Rechenaufwand verursachen (katastrophales Backtracking). Damit die Seite nicht hängt, wird nach 2 Sekunden abgebrochen. Fasse die Wiederholungen zu einer zusammen oder schränke die passenden Zeichen ein, etwa [^,]* statt .*.

Wie suche ich ohne Unterscheidung von Groß- und Kleinschreibung?

Schalte bei „Flags“ „i Groß/klein egal“ ein. Dann gelten A und a oder Ä und ä als dasselbe Zeichen.

^ und $ passen nicht auf jede Zeile

Standardmäßig passen ^ und $ nur auf Anfang und Ende des ganzen Texts. Damit sie auf jede Zeile passen, schalte bei „Flags“ „m Zeilenweise“ ein.

Kann ich nach Umlauten oder anderen Schriften suchen?

Ja. \w umfasst nur A–Z, 0–9 und _, also weder ä noch ß. Nimm \p{L} (ein Buchstabe aus beliebiger Schrift) und schalte „u Unicode“ ein. Für Kanji wähle unter „Häufiges Muster wählen“ den Eintrag „Kanji (chinesische Zeichen)“: Er nutzt \p{Script=Han}, das das Flag u braucht, deshalb geht u automatisch mit an.

Ist es kostenlos?

Ja, es ist kostenlos. Ohne Anmeldung, ohne Installation und ohne Werbung. Nutze es, so oft du willst, egal wie lang der Text ist.