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
- Gib dein Muster in das Musterfeld ein (ohne die /-Trenner).
- Aktiviere die benötigten Flags (g, i, m…).
- 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 <b>bold</b> and <i>it</i> 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.