So verwenden Sie den Regex-Tester
Ein regulärer Ausdruck (Regex) ist eine kompakte Syntax zur Beschreibung von Textübereinstimmungsregeln. Er wird überall eingesetzt — Formularvalidierung, Log-Extraktion, Massenersetzung, Datenbereinigung. Aber Regex ist dicht: Ein falsches Zeichen und die Bedeutung kippt vollständig. Ein Werkzeug, das Treffer schon beim Tippen zeigt, spart sehr viel Zeit.
Was Ihnen dieses Werkzeug bietet
- Live-Hervorhebung: Während Sie das Muster tippen, wird jeder Treffer im Testtext markiert — kein Knopf nötig
- Trefferliste: jeder gefundene Textausschnitt und seine Position einzeln aufgeführt, leicht gegenzuprüfen
- Erfassungsgruppen: von Klammern erfasste Teilstrings werden in verschiedenen Farben hervorgehoben, sodass Sie prüfen können, ob die Gruppierung Ihrer Absicht entspricht
- Fehlermeldungen: Bei falscher Syntax wird gesagt, welche Art Fehler es ist (etwa eine nicht geschlossene Klammer), statt still zu scheitern
- Spickzettel: Klicken Sie ein gängiges Muster (Telefonnummer, E-Mail, Ausweisnummer usw.) an, um es einzufügen — spart Schreiben und Merken
Was die fünf gängigen Flags bedeuten
gglobal: jeden Treffer finden, statt beim ersten zu stoppen. Beim Testen sinnvoll eingeschaltet zu lassen.iGroß-/Kleinschreibung ignorieren:/abc/itrifftABCundAbc.mmehrzeilig: lässt^und$den Anfang und das Ende jeder Zeile treffen statt des gesamten Textes. Unverzichtbar für zeilenweise Validierung.sPunkt trifft Zeilenumbruch: standardmäßig trifft.keinen Zeilenumbruch; eingeschaltet trifft.jedes Zeichen inklusive Umbrüchen.uUnicode-Modus: verarbeitet Vier-Byte-Zeichen wie Emoji und seltene Hanzi korrekt. Enthält Ihr Testtext Emoji und die Ergebnisse wirken falsch, schalten Sie das ein.
Ein paar Fallen, in die man tappt
Gierige Quantifizierer. .* ist standardmäßig gierig und trifft so viel wie möglich. <a><b> mit <.*> abzugleichen liefert die ganze Zeichenkette statt zwei Tags. Ändern Sie es zu <.*?> (das Fragezeichen macht es faul) für das gewünschte Verhalten.
Anker und Mehrzeiligkeit. Im Standardmodus trifft ^\d+$ nur, wenn der gesamte Text eine einzige Zahl ist. Für zeilenweise Validierung müssen Sie m einschalten.
Das Escapen vergessen. Einen Regex innerhalb eines JavaScript-Strings zu schreiben bedeutet doppelte Backslashes — ein Telefonmuster wird zu "^1[3-9]\\d{9}$". Das Eingabefeld hier nimmt ein Regex-Literal, also ist ein einzelner Backslash wie in \d richtig.
Formularvalidierung braucht Anker. Nur [0-9]{11} zu schreiben findet auch in abc13800000000xyz eine „Telefonnummer". Für Validierung müssen Sie es mit ^...$ von Anfang bis Ende begrenzen.
Ein Hinweis zur Leistung
Manche Muster lösen katastrophales Backtracking aus. Beispielsweise kann (a+)+b gegen eine lange Folge von aaaa... exponentiell länger brauchen und den Browser einfrieren. Wenn die Seite nicht mehr reagiert, sind meist verschachtelte Quantifizierer die Ursache — schreiben Sie es präziser, etwa als a+b.
Häufige Fragen
Kann ich die Spickzettel-Muster produktiv einsetzen?
Ja, aber passen Sie sie nach Bedarf an. Die Telefonnummer-Regel ändert sich mit der Nummernpolitik und muss aktualisiert werden, wenn neue Vorwahlen vergeben werden. Das vollständige Ausweisnummer-Muster prüft nur das Format und ob das Datum plausibel ist — es verifiziert nicht die letzte Prüfziffer. Und E-Mail ist eine praktische Vereinfachung, die die überwiegende Mehrheit der Fälle abdeckt; ein streng RFC-5322-konformes Muster ist weit komplizierter und meist nicht lohnend.
Warum funktioniert mein Regex in einer anderen Sprache, hier aber nicht?
Dieses Werkzeug nutzt die JavaScript-Regex-Engine, deren Syntax sich von PCRE (PHP, Pythons re) unterscheidet. Drei typische Unterschiede: JavaScript fehlt manche erweiterte Syntax jenseits von (?<name>), es hat keine Bedingungen und keine Rekursion, und es hat keine \A / \z-Anker (verwenden Sie ^ und $). Benannte Gruppen (?<name>...) werden unterstützt.
Wie finde ich Inhalte über Zeilenumbrüche hinweg?
Auf zwei Wegen: Ersetzen Sie . durch [\s\S], oder schalten Sie das Flag s ein. Ersteres ist portabler und funktioniert in praktisch jeder Engine.
Wird der Testtext gespeichert?
Nein. Der gesamte Abgleich passiert im Browserspeicher und wird beim Neuladen der Seite verworfen. Nichts wird hochgeladen.