Regex-Tester
Reguläre Ausdrücke mit Live-Hervorhebung testen
So funktioniert es
Regex-Tester — Reguläre Ausdrücke mit Live-Hervorhebung testen. Alle Verarbeitung erfolgt in deinem Browser — kein Upload, keine Anmeldung, keine E-Mail. Für immer kostenlos.
Zuletzt aktualisiert:
Über Regex-Tester
Regex ist eine dieser Skills, bei denen eine Dreißig-Sekunden-Test-Schleife dir eine Stunde Starren erspart. Pattern einfügen, Beispieltext einfügen, zusehen, wie Matches live highlighten, während du Flags tweakst oder eine vermurkste Klammer reparierst. Dieser Regex Tester nutzt die JavaScript-RegExp-Engine — exakt die, in der dein Code im Browser, in Node.js oder einer beliebigen V8-/JavaScriptCore-Runtime läuft — sodass du in Produktion bekommst, was du hier siehst.
Die Flag-Toggles decken alles ab, was ECMAScript unterstützt: g für global, i für case-insensitive, m für multi-line ^/$-Anker, s für dotAll ("." matcht Newlines), u für volles Unicode und y für sticky Matching. Jeder Match zeigt dir den vollen Text, den Index und alle Capture-Groups (nummeriert und benannt), damit du genau die Extraction-Form bauen und verifizieren kannst, die dein Code erwartet.
Regex-Dialekte unterscheiden sich: PCRE in PHP, RE2 in Go und Cloud Logging, .NETs Engine und Pythons re-Modul weichen bei Lookbehind-Syntax, possessiven Quantoren und Unicode-Property-Escapes voneinander ab. Dieser Tester zielt spezifisch auf ECMAScript/JavaScript — wenn du Patterns für einen Go-Service oder eine BigQuery-Query schreibst, prüf den Dialekt vor dem Ausrollen.
So verwenden Sie Regex-Tester
- Tippe oder füge dein Regex-Pattern ins Pattern-Feld ein (keine umgebenden Slashes nötig).
- Schalte die Flags um, die du brauchst: g, i, m, s, u, y. Jedes Flag aktualisiert die Live-Match-Liste sofort.
- Füge einen repräsentativen Test-String in Test string ein — mehrzeiliger Input ist ok.
- Lies das Matches-Panel: Jeder Eintrag zeigt den vollen Match plus alle Capture-Groups, nummeriert und benannt.
- Tweake das Pattern, bis "No matches" verschwindet und die hervorgehobenen Spans das abdecken, was du erwartest.
- Wenn "Invalid regex" erscheint, prüfe auf eine ungeschlossene Group, eine nicht escapte Character Class oder einen Flag-Konflikt.
Häufige Anwendungsfälle
- Ein Input-Validation-Pattern für ein E-Mail-, Slug- oder Telefon-Feld bauen, bevor du es in deine Form-Library einfügst.
- Strukturierte Felder (Zeitstempel, Request-IDs, Statuscodes) aus Log-Zeilen für ein schnelles Analyseskript extrahieren.
- Ein Search-and-Replace-Pattern in deinem Editor mit Capture-Group-Referenzen wie $1, $2 verfeinern.
- Prüfen, dass ein destruktives Find-and-Replace nur die Zeilen trifft, die du erwartest, bevor du es auf eine reale Datei loslässt.
- Einem Teamkollegen zeigen, warum ".*" greedy ist und wie sich lazy Quantoren (".*?") anders verhalten.
Tipps und häufige Fehler
- Ohne das g-Flag wird nur der erste Match zurückgegeben — schalte es ein, wann immer du alle Vorkommen extrahierst.
- Wenn "." Newlines matchen soll, aktiviere das s-Flag (dotAll) statt zu "[\s\S]" zu greifen.
- Nutze benannte Capture-Groups wie "(?<jahr>\d{4})", damit Aufrufer match.groups.jahr statt fragiler numerischer Indizes referenzieren können.
- ECMAScript unterstützt Lookbehind ("(?<=…)") in modernen Browsern, aber Safari hat es spät übernommen — verifiziere auf deinen Ziel-Runtimes, wenn du ältere Geräte unterstützen musst.
Häufig gestellte Fragen
Welche Regex-Engine wird unterstützt?
Die native RegExp-Engine von JavaScript — dieselbe, die in Browsern und Node.js verwendet wird. Die ECMAScript-Flags g, i, m, s, u, y sind unterstützt.
Kann ich Capture-Groups sehen?
Ja. Jeder Treffer zeigt erfasste Gruppen nummeriert $1, $2, …. Benannte Gruppen erscheinen in der JSON-Ausgabe jedes Treffers.
Warum trifft '.*' zu viel?
Standardmäßig matcht '.' keine Zeilenumbrüche. Schalte die 's' (dotAll) Flag ein, wenn '.' jedes Zeichen einschließlich Zeilenumbrüche treffen soll.
Werden PCRE-Features wie rekursive Patterns oder possessive Quantoren unterstützt?
Nein. Das ist die JavaScript-RegExp-Engine, ECMAScript-konform. Rekursive Patterns, possessive Quantoren ("++", "*+") und bestimmte PCRE-Conditionals werden nicht unterstützt. Dafür brauchst du ein PHP-/Perl-/PCRE-spezifisches Tool.
Kann ich Patterns testen, die für Go (RE2) oder BigQuery gedacht sind?
Du kannst die grundlegende Form prototypen, aber RE2 lässt Lookbehind und Backreferenzen aus Performance- und Sicherheitsgründen bewusst weg. Verifiziere immer im Ziel-Dialekt — dieses Tool ist JS-flavoured.
Warum matcht mein Pattern still und leise zu viel?
Quantoren sind standardmäßig greedy — ".*" frisst, was es kann. Hänge "?" an, um sie lazy zu machen (".*?"), oder nutze eine spezifischere Character Class wie "[^/]*" statt ".".
Neueste Beiträge aus dem Blog
- Cron-Ausdrücke von Grund auf: Ein visuelles TutorialLernen Sie die fünf Felder der POSIX-Cron-Syntax, Sonderzeichen, Schrittwerte, Quartz-Erweiterungen, die AWS-Cron-Besonderheiten und ein Dutzend ausgearbeitete Beispiele, die Sie heute noch in eine crontab kopieren können.
- Regex für Nicht-Entwickler: Ein praxisnaher LeitfadenEin freundliches, jargonarmes Regex-Tutorial für Autorinnen, Analysten, Marketer und alle, die in Suchen-und-Ersetzen leben. Lernen Sie die wichtige Syntax und schnappen Sie sich zehn einsatzbereite Rezepte.
Ähnliche Tools
- URL-Encoder/DecoderURI-Komponenten und vollständige URLs codieren und decodieren
- UUID-GeneratorKryptografisch zufällige UUID v4 in Massen erzeugen
- JWT-DecoderJSON Web Tokens decodieren und prüfen (Header, Payload, Ablauf)
- Cron-Ausdrucks-BuilderCron-Ausdrücke erstellen und in einfacher Sprache erklären
- SQL-FormatiererSQL-Abfragen für jeden gängigen Dialekt verschönern, minimieren oder formatieren
- YAML ↔ JSON-KonverterZwischen YAML und JSON in beide Richtungen konvertieren