Regex-Tester
Reguläre Ausdrücke mit Live-Hervorhebung und Trefferinfos testen
Regulärer Ausdruck
Testzeichenkette
Ergebnisse
Über dieses Tool
Ein regulärer Ausdruck ist eine kompakte Beschreibung eines Textmusters, und der Grund, warum sie berüchtigt schwer sind: Eine falsche Regex scheitert selten laut – sie matcht still etwas zu viel oder zu wenig, und der Bug taucht Wochen später auf Daten auf, die niemand getestet hat. Gegen echten Sample-Text zu testen ist der einzige zuverlässige Weg, eine zu schreiben, und dafür ist dieses Tool da. Ein paar Konzepte tragen das meiste Gewicht. Zeichenklassen wie \d, \w und \s matchen Ziffern, Wortzeichen und Whitespace. Quantoren – *, +, ?, {2,5} – sagen, wie oft. Anchors ^ und $ binden den Match an Start und Ende. Gruppen in Klammern fangen die Teile, die du extrahieren willst. Das eine Verhalten, das fast alle erwischt, ist Gier: Quantoren greifen standardmäßig so viel wie möglich, .* in einem HTML-Muster schluckt also die ganze Zeile statt am ersten schließenden Tag zu stoppen. Ein ? nach dem Quantor macht ihn lazy und fixt das. Matching läuft in deinem Browser.
So verwendest du dieses Tool
- Schreibe dein MusterGib die Regex ohne umgebende Slashes ein. Syntaxfehler werden beim Tippen gemeldet statt nachdem du sie ausführst.
- Setze die Flagsg findet jeden Match statt den ersten, i ignoriert Groß-/Kleinschreibung, m lässt ^ und $ an Zeilengrenzen matchen.
- Füge realistischen Testtext einNimm die unangenehmen Fälle mit – leere Werte, ungewöhnliche Formate, Dinge, die NICHT matchen sollen. Dort brechen Muster wirklich.
- Lies die HervorhebungMatches werden an Ort und Stelle hervorgehoben und gefangene Gruppen separat gelistet, damit du genau siehst, was extrahiert würde.
Warum es nutzen
- Live-Hervorhebung zeigt, was matcht, während du tippst – weit schneller, als Code wiederholt auszuführen.
- Gefangene Gruppen werden separat gelistet, damit du bestätigen kannst, dass du den richtigen Teil extrahierst.
- Flags lassen sich sofort umschalten, um zu sehen, wie sie das Verhalten ändern.
- Läuft in deinem Browser, Log-Auszüge und echte Daten als Testeingabe werden also nie hochgeladen.
- Kein Konto und kein Nutzungslimit.
Häufige Anwendungen
- Ein Validierungsmuster für E-Mails, Telefonnummern oder Postleitzahlen bauen, bevor es in ein Formular kommt.
- Felder aus Logzeilen oder unstrukturiertem Text extrahieren.
- Ein Suchen-und-Ersetzen-Muster für eine Massenänderung über eine Codebasis schreiben.
- Ein Muster debuggen, das auf den meisten Eingaben funktioniert, aber auf einer bestimmten scheitert.
- Regex lernen, indem du zusiehst, was jede Änderung an der Hervorhebung tut.
Tipps für bessere Ergebnisse
- Teste mit Text, der NICHT matchen soll, nicht nur mit Text, der soll. Over-Matching ist der häufigere Bug und der schwerer zu merken.
- Nutze lazy Quantoren – *? und +? – wenn du zwischen Delimitern matchst, sonst läuft das Muster bis zum letzten auf der Zeile statt zum ersten.
- Escape Punkte außerhalb von Zeichenklassen. Ein unescaped . matcht jedes Zeichen, das macht Muster still weit breiter als beabsichtigt.
- Bevorzuge spezifische Klassen gegenüber dem Punkt. [0-9]{4} sagt, was du meinst; .{4} matcht vier von allem.
- Für E-Mail-Validierung ist ein einfaches Muster plus ein tatsächliches Senden zuverlässiger als eine komplexe Regex – die volle RFC-konforme E-Mail-Regex hat Tausende Zeichen und lohnt sich trotzdem nicht.
Fehler, die du vermeiden solltest
- Das g-Flag vergessen und sich wundern, warum nur der erste Match gefunden wird.
- .* nutzen, wo .*? nötig war, sodass der Match gierig bis zum Zeilenende läuft.
- Einen Punkt in einem Domain- oder Dateinamen-Muster unescaped lassen, sodass er fast alles matcht.
- Versuchen, HTML oder JSON mit Regex zu parsen. Beides sind verschachtelte Strukturen, die reguläre Ausdrücke grundsätzlich nicht zuverlässig behandeln können – nutze einen Parser.
- Ein katastrophal backtrackendes Muster schreiben – verschachtelte Quantoren wie (a+)+ können auf bestimmten Eingaben hängen, ein echter Denial-of-Service-Vektor.
- Annehmen, ein Muster, das hier funktioniert, verhalte sich in einer anderen Sprache identisch. Lookbehind, Named Groups und Unicode-Handling unterscheiden sich alle.
Verfügbare Optionen
- Pattern
- Flags
- Live match highlighting
Häufig gestellte Fragen
Gib dein Muster oben ein, setze die Flags, die du brauchst, und füge Sample-Text ein. Matches werden live hervorgehoben und gefangene Gruppen gelistet, damit du genau siehst, was das Muster tut.
Ja. Kein Konto, kein Limit, und deine Testdaten bleiben in deinem Browser.
Die von JavaScript, die die Syntax abdeckt, die die meisten modernen Sprachen teilen. Fortgeschrittene Features unterscheiden sich – Python, PHP, Java und Go variieren jeweils bei Lookbehind, Named Groups und Unicode-Properties – verifiziere also alles Exotische in deiner Zielumgebung.
g findet alle Matches statt beim ersten zu stoppen, i macht Matching case-insensitive, m lässt ^ und $ an jeder Zeile matchen statt nur am Start und Ende des ganzen Texts, und s lässt . auch Newlines matchen.
Fast immer Gier. Quantoren wie * und + nehmen so viel sie können, .* läuft also zum Zeilenende. Füge ? hinzu, um sie lazy zu machen – .*? stoppt am ersten möglichen Match.
Gierig nimmt den längsten möglichen Match; lazy den kürzesten. <.*> gegen „<a><b>“ gibt den ganzen String; <.*?> gibt nur „<a>“.
Das solltest du nicht. HTML nestet beliebig und reguläre Ausdrücke können verschachtelte Strukturen nicht zuverlässig beschreiben, jedes Muster bricht also auf gültiger Eingabe. Nutze stattdessen einen HTML-Parser – Regex ist nur für sehr eingeschränkte, bekannte-Format-Snippets in Ordnung.
Nein. Matching läuft in deinem Browser, das zählt, weil Sample-Text oft ein echter Log-Auszug oder Kundendaten ist.
Andere suchen auch nach
- regex tester online kostenlos
- regex101 alternative kostenlos
- regulären ausdruck javascript testen
- regex spickzettel
- regex für email validierung
- gierig vs lazy regex
- regex alle vorkommen matchen