Werkzeuge

Kostenloser Online Regex-Tester

Teste und debugge JavaScript-reguläre Ausdrücke im Browser. Sieh Treffer live hervorgehoben, untersuche Capture Groups und prüfe die Ersetzungsvorschau. Es wird nie etwas an einen Server gesendet.

Flags
Schnellmuster

Treffer-Ergebnisse

Alle Treffer werden lokal in deinem Browser berechnet. Deine Muster und Texte werden nie hochgeladen, gespeichert oder protokolliert.

Was ist ein Regulärer Ausdruck?

Ein regulärer Ausdruck (Regex) ist eine Zeichenfolge, die ein Suchmuster definiert. Statt nach einer festen Zeichenkette zu suchen, beschreibt eine Regex die Form des gesuchten Textes — Ziffern, Wörter, E-Mail-Adressen, Datumsangaben und mehr. Das macht den Musterabgleich zu einem der mächtigsten Werkzeuge für Entwickler, Datenanalysten und Systemadministratoren, die ihn täglich nutzen, um Eingaben zu validieren, Logs zu durchsuchen und Text schnell und zuverlässig zu transformieren.

JavaScript Regex-Flags Erklärt

g global — findet alle Treffer in der Zeichenkette, nicht nur den ersten.
i case-insensitive — Buchstaben passen unabhängig von Groß- oder Kleinschreibung.
m multiline — die Anker ^ und $ passen auf den Anfang und das Ende jeder Zeile, nicht nur der gesamten Zeichenkette.
s dotAll — der Punkt . passt auch auf Zeilenumbrüche.
u unicode — aktiviert vollständigen Unicode-Abgleich, einschließlich Codepunkten oberhalb von U+FFFF.

Referenz Häufiger Regex-Muster

Muster Regex Passt auf
E-Mail /[^\s@]+@[^\s@]+\.[^\s@]+/ hello@charcount.app
URL /https?:\/\/[^\s]+/ https://charcount.app
IPv4 /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/ 192.168.0.1
Datum (JJJJ-MM-TT) /\d{4}-\d{2}-\d{2}/ 2026-06-30
Hex-Farbe /#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})\b/ #4338ca
UUID v4 /[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab]…/i 9f1c…5b6c

Regex Capture Groups

Klammern ermöglichen es, Teile eines Treffers zu erfassen, um sie zu extrahieren oder wiederzuverwenden. Es gibt drei Arten:

  • ( ) — eine erfassende Gruppe: speichert den Treffer, zugänglich als $1, $2, … in Ersetzungen.
  • (?: ) — eine nicht erfassende Gruppe: gruppiert das Muster für Alternativen oder Quantoren, ohne es zu speichern.
  • (?<name> ) — eine benannte Gruppe: erfasst mit einem lesbaren Namen, zugänglich als groups.name.

Zum Beispiel das Parsen eines Datums mit drei Gruppen: (\d{4})-(\d{2})-(\d{2})

Häufig Gestellte Fragen

.* ist gierig: Es passt auf so viel Text wie möglich und macht bei Bedarf einen Rückzieher. .*? ist genügsam (non-greedy): Es passt auf so wenig wie möglich und erweitert sich nur, wenn es muss. Beim Text "<a><b>" passt das Muster <.*> auf das gesamte "<a><b>", während <.*?> nur auf "<a>" passt. Verwende die genügsame Variante, wenn du den kürzestmöglichen Treffer willst, etwa beim Parsen einzelner HTML-Tags.

Zeichen wie . ( ) [ ] { } + * ? ^ $ | \ haben in Regex eine besondere Bedeutung; um sie wörtlich zu treffen, maskierst du sie mit einem Backslash. Schreibe \. für einen wörtlichen Punkt, \( für eine wörtliche öffnende Klammer und \\ für einen wörtlichen Backslash. Innerhalb einer Zeichenklasse, zum Beispiel [.], verlieren die meisten dieser Zeichen ihre Sonderbedeutung und müssen nicht maskiert werden.

Die meisten Online-Tester verwenden standardmäßig die PCRE-Engine, während dieses Tool und dein Browser die JavaScript-Engine (ECMAScript) nutzen, der einige Funktionen fehlen. JavaScript unterstützt in älteren Engines kein Lookbehind, keine possessiven Quantoren, keine Rekursion und keine Inline-Flags wie (?i). Stelle sicher, dass dein Tester auf die JavaScript-Variante eingestellt ist, damit das Verhalten dem deines Codes entspricht.

Das g-Flag (global) bewirkt, dass die Regex jeden Treffer in der Zeichenkette findet, statt beim ersten zu stoppen. Du brauchst es bei Methoden wie matchAll() oder replaceAll() oder um alle Vorkommen mit replace() zu ersetzen. Ohne g ändern Methoden wie replace() nur den ersten Treffer. Beachte, dass eine globale Regex einen lastIndex-Zustand behält; verwende sie daher beim Aufruf von exec() in einer Schleife mit Bedacht.