Zum Hauptinhalt springen

Regex-Tester

Teste reguläre Ausdrücke live, hebe Treffer hervor — mit Flags und Capture-Gruppen.

/ /
Flags:
  

Ein Muster und jeder Treffer, den es findet

Zwei Datumsangaben aus einem Satz, samt ihren Capture-Gruppen.

Eingabe
pattern:  \b(\d{4})-(\d{2})-(\d{2})\b
flags:    g
text:     due 2026-07-27, shipped 2026-08-03
Ausgabe
match 1  "2026-07-27"   groups: 2026 | 07 | 27
match 2  "2026-08-03"   groups: 2026 | 08 | 03

Lass das g-Flag weg, und nur Treffer 1 kommt zurück. Die meisten Meldungen „mein Regex findet nur den ersten" sind genau das und kein Problem des Musters.

Online-Regex-Tester

Reguläre Ausdrücke sind mächtig, aber leicht falsch und schwer zu debuggen. Dieser Regex-Tester lässt dich schrittweise bauen: Gib ein Muster und Testtext ein, und jeder Treffer wird in Echtzeit hervorgehoben, mit aufgelisteten Capture-Gruppen. Er macht aus Versuch und Irrtum etwas Sichtbares.

So funktioniert es

  1. Gib dein Muster in das Musterfeld ein (ohne die /-Trenner).
  2. Aktiviere die benötigten Flags (g, i, m…).
  3. Füge Inhalt in den Testtext-Bereich ein; Treffer werden live hervorgehoben und Gruppen unten aufgelistet.

Typische Anwendungsfälle

  • Formate wie E-Mail-, Telefon- oder URL-Muster validieren.
  • Eine Regex debuggen, die zu wenig oder zu viel trifft.
  • Regex-Syntax lernen und ausprobieren.

Erst mit echtem Beispieltext testen – Vorsicht bei gierigen Treffern

Bevor du einen regulären Ausdruck in deinen Code übernimmst, füg hier ein Stück echten Beispieltext ein und teste live, ob er wirklich das trifft, was du glaubst – das spart später am meisten Debugging-Zeit. Ein paar klassische Fallen: Teste die Grenzfälle. Leere Zeichenketten, Treffer ganz am Anfang oder Ende und Eingaben mit Sonderzeichen sind genau das, woran ein Muster gern scheitert. Denk daran, dass der Punkt standardmäßig keine Zeilenumbrüche trifft – für mehrzeiligen Text brauchst du das dotall-Flag oder einen anderen Ansatz. Zeichen wie . * + ? ( ) haben eine besondere Bedeutung; um sie wörtlich zu suchen, escapst du sie mit einem Backslash. Und die tückischste Sache – gierig gegen genügsam: Ein einfaches .* greift so weit nach rechts wie möglich und schnappt oft zu viel, während .*? beim kürzesten Treffer stoppt.

Warum die Offsets zählen und nicht nur die Trefferzahl

Weil die Offsets aus einer Trefferzahl eine Diagnose machen. \d+ gegen Order 12, item 345, qty 7. ergibt 3 Treffer, aufgelistet als #1"12"@6 #2"345"@15 #3"7"@24 — der dritte beginnt bei 24, was zeigt, dass die letzte 7 vor dem Punkt gefunden wurde und der Punkt somit nicht zu \d gehört. Greedy gegen lazy ist ebenfalls eine einzige Messung: gegen &lt;b&gt;bold&lt;/b&gt; and &lt;i&gt;it&lt;/i&gt; liefert <.+> 1 Treffer (es schluckt die ganze Zeichenkette), <.+?> dagegen 4 Treffer: #1"<b>"@0 #2"</b>"@7 #3"<i>"@16 #4"</i>"@21. Gleiche Zeichen, gleiche Eingabe, ein Fragezeichen Unterschied.

Häufig gestellte Fragen

Welcher Regex-Dialekt ist das?

Er nutzt die JavaScript-RegExp-Engine des Browsers, die Syntax entspricht also JS. Er ist weitgehend kompatibel mit PCRE, Python usw., einige fortgeschrittene Funktionen (etwa Lookbehind-Unterstützung) können leicht abweichen.

Welche Flags werden unterstützt?

Die gängigen Flags: g (global), i (Groß-/Kleinschreibung ignorieren), m (mehrzeilig), s (dotAll), u (Unicode) und y (sticky). Einfach anhaken.

Werden meine Daten hochgeladen?

Nein. Muster und Testtext werden lokal im Browser abgeglichen und nie hochgeladen.

Weiterlesen

Reguläre Ausdrücke für Einsteiger: Ein praktischer Spickzettel →

Dieses Tool einbetten

Binde dieses Tool kostenlos auf deiner Website oder deinem Blog ein — kopiere einfach den Code unten (er enthält einen Link zurück zu dieser Seite).