Alle Tools

Regex-Tester

Reguläre Ausdrücke mit Live-Hervorhebung testen

//
Treffer · 2
Hello world from Multilities
[0]Hello world($1=Hello, $2=world)
[1]from Multilities($1=from, $2=Multilities)

So funktioniert es

Regex-TesterRegulä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

  1. Tippe oder füge dein Regex-Pattern ins Pattern-Feld ein (keine umgebenden Slashes nötig).
  2. Schalte die Flags um, die du brauchst: g, i, m, s, u, y. Jedes Flag aktualisiert die Live-Match-Liste sofort.
  3. Füge einen repräsentativen Test-String in Test string ein — mehrzeiliger Input ist ok.
  4. Lies das Matches-Panel: Jeder Eintrag zeigt den vollen Match plus alle Capture-Groups, nummeriert und benannt.
  5. Tweake das Pattern, bis "No matches" verschwindet und die hervorgehobenen Spans das abdecken, was du erwartest.
  6. 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

Ähnliche Tools