Wie teste ich einen regulären Ausdruck?

Geben Sie ein Muster und etwas Beispieltext ein, und das Werkzeug hebt jede Übereinstimmung hervor, listet die Erfassungsgruppen auf und lässt Sie Flags wie global, mehrzeilig und Groß-/Kleinschreibung-unabhängig ein- und ausschalten. Der Abgleich läuft in Ihrem Browser mit der RegExp-Engine von JavaScript selbst, die Ergebnisse sind also genau das, was Ihr Code sieht.

Läuft vollständig in Ihrem Browser · kein Upload · kein Konto · kein Wasserzeichen

  1. Tippen Sie ein Muster und setzen Sie die gewünschten Flags.
  2. Fügen Sie Beispieltext ein, gegen den abgeglichen wird.
  3. Lesen Sie die Hervorhebungen, dann die Trefferliste darunter.
Flags

Hervorhebungen

Treffer

    Was diese Seite kann

    Wann dieses Werkzeug sinnvoll ist

    • Einen regulären Ausdruck aus JavaScript gegen eine Beispielzeichenkette ausprobieren.
    • Sehen, welche Erfassungsgruppen und Flags welche Treffer erzeugen.
    • Ein Muster prüfen, bevor Sie es in Frontend-Code übernehmen.

    Wann Sie etwas anderes brauchen

    • Das Muster zielt auf Python, PCRE, .NET oder Java — Syntax und Backtracking-Verhalten unterscheiden sich von RegExp in JavaScript.
    • Die Eingabe ist nicht vertrauenswürdig und das Muster könnte katastrophal backtracken; der Test läuft im Hauptthread und kann den Tab einfrieren.
    • Sie brauchen eine Schritt-für-Schritt-Erklärung, Benchmarks oder ein Timeout.

    Wie es sich mit anderen Lösungen vergleicht

    regex101 und ähnliche Werkzeuge lassen Sie die Engine wechseln, erklären jedes Token und setzen ein Timeout. Diese Seite führt das RegExp des Browsers ohne diese Schutzmaßnahmen aus, sie ist also originalgetreu zu JavaScript und teilt dessen Grenzen: keine atomaren Gruppen, keine possessiven Quantoren und kein Schutz gegen ein pathologisches Muster. Ein absichtlich schlechter Ausdruck kann den Tab hängen lassen, bis Sie ihn schließen.

    Wohin Ihre Dateien gehen

    Nirgendwohin. Diese Seite lädt den Code, der die Arbeit erledigt, und von da an wird die Datei, die Sie öffnen, von Ihrem eigenen Browser gelesen. Kein Upload-Schritt, keine temporäre Serverkopie, kein Aufräumen, dem man vertrauen müsste – die Daten verlassen nie das Netzwerk, es bleibt also nichts zu löschen. Sie können es selbst prüfen: Öffnen Sie die Netzwerkansicht Ihres Browsers, während das Werkzeug läuft, und sehen Sie, wie sie ruhig bleibt.

    Fragen zu diesem Werkzeug

    Die Seite reagierte nicht mehr, als ich mein Muster benutzt habe. Warum?
    Das ist katastrophales Backtracking: Ein Muster wie (a+)+b gegen eine lange Folge von „a“ lässt die Engine exponentiell viele Wege durchprobieren, um zu scheitern. Diese Seite begrenzt die Zahl der Treffer, damit sie nicht endlos weiterläuft, ein einzelner hartnäckiger Treffer kann aber trotzdem einen Moment dauern. Schreiben Sie verschachtelte Quantoren so um, dass die Engine nur einen Weg hat — etwa a+b — oder verankern Sie das Muster mit ^ oder $.
    Welche Flags kann ich einschalten?
    g findet jede Übereinstimmung statt nur der ersten, i ignoriert Groß- und Kleinschreibung, m lässt ^ und $ an Zeilenumbrüchen greifen, s erlaubt dem Punkt, auch Zeilenumbrüche zu treffen, und u schaltet den vollen Unicode-Modus ein, den Sie für \p{...}-Eigenschafts-Escapes und den korrekten Umgang mit Zeichen außerhalb der Grundebene brauchen. Die Ergebnisse sind genau die, die die Engine von JavaScript selbst liefert, sie passen also zu Ihrem Code.
    Warum werden nur ein paar tausend Treffer aufgelistet?
    Die Liste ist begrenzt, damit ein Muster, das auf jedes Zeichen passt — zum Beispiel der Punkt mit globalem Flag auf einem langen Dokument — den Tab nicht blockiert, während Tausende Zeilen aufgebaut werden. Die Grenze ist hoch genug für realistische Testzeichenketten; wenn Sie sie erreichen, verengen Sie das Muster oder kürzen Sie das Beispiel.

    Andere Werkzeuge derselben Gruppe