Toolbox Hub
Alle Werkzeuge

Regex Tester

Test regular expressions

Test regular expressions Läuft lokal in Ihrem Browser

About the

Der Regex-Tester führt einen regulären JavaScript-Ausdruck für Ihren eigenen Beispieltext aus und hebt jede Übereinstimmung während der Eingabe hervor, sodass Sie zusehen können, wie ein Muster erfolgreich ist oder fehlschlägt, anstatt zu raten. Neben den Hervorhebungen listet es jede Übereinstimmung mit ihrer Startposition und ihren Erfassungsgruppen auf. Dies ist der Teil, der Ihnen tatsächlich sagt, ob Gruppe 2 der gewünschte Wert oder eine leere Zeichenfolge ist. Drei Fehler verursachen die meisten fehlerhaften regulären Ausdrücke, und alle drei sind hier sichtbar: ein gieriger Quantifizierer, der stillschweigend mehr Text als beabsichtigt verschluckt, ein Punkt ohne Escapezeichen, der mit irgendetwas übereinstimmt, und ein fehlendes globales Flag, das die Suche nach dem ersten Treffer stoppt.

Where people use the

  • Debuggen eines Protokollanalysemusters anhand einer Handvoll echter Protokollzeilen.
  • Erarbeiten Sie eine Telefon- oder Postleitzahlenregel, bevor Sie sie in ein Formular einbinden.
  • Bestellnummern oder IDs aus einem eingefügten Textblock extrahieren.
  • Lernen Sie, wie sich Quantoren verhalten, indem Sie ein Zeichen ändern und beobachten, wie sich die Hervorhebungen bewegen.

How to use the

  1. 1

    Fügen Sie den Text ein, den Sie testen möchten

    Verwenden Sie eine echte Probe statt einer erfundenen. Die Randfälle in Ihren tatsächlichen Daten brechen das Muster. Fügen Sie daher auch eine Linie ein, die nicht übereinstimmen sollte.

  2. 2

    Schreiben Sie das Muster

    Geben Sie den Ausdruck ohne die umgebenden Schrägstriche ein, zum Beispiel [a-z]+ statt /[a-z]+/. Flags sind separate Schalter.

  3. 3

    Schalten Sie Flags ein oder aus

    g findet jede Übereinstimmung, anstatt beim ersten anzuhalten, i ignoriert die Groß-/Kleinschreibung, m sorgt dafür, dass Anker pro Zeile funktionieren, s lässt einen Punkt über Zeilenumbrüche hinweggehen, u aktiviert den vollständigen Unicode-Modus und y verankert Übereinstimmungen mit lastIndex.

  4. 4

    Lesen Sie die Spieltabelle

    Jedes Ergebnis zeigt den übereinstimmenden Text, seinen Zeichenversatz und jede Erfassungsgruppe. Eine unerwartete leere Gruppe bedeutet normalerweise, dass ein optionaler Quantor mit nichts übereinstimmt.

  5. 5

    Kopieren Sie das fertige Muster

    Wenn die Hervorhebungen richtig aussehen, kopieren Sie den Ausdruck und fügen Sie ihn in Ihren Code ein. Denken Sie daran, auch die Flags zu übernehmen.

Tipps und Best Practices

  • Testen Sie eine Regel pro Muster. Ein regulärer Ausdruck, der drei Aufgaben erledigt, ist unlesbar und kann nicht debuggt werden.
  • Fügen Sie eine Zeile ein, die nicht übereinstimmen darf, und stellen Sie sicher, dass sie nicht hervorgehoben bleibt.
  • Bevorzugen Sie benannte Gruppen wie Jahr, Monat, Tag gegenüber nummerierten Gruppen, damit das Muster immer noch eine Bedeutung hat, wenn Sie im nächsten Monat darauf zurückkommen.

Häufig gestellte Fragen

Welche Regex-Variante wird hier verwendet?

JavaScript über die browsereigene RegExp-Engine. Die Syntax ähnelt PCRE und dem re-Modul von Python, ist jedoch nicht identisch. Benannte Gruppen, Lookahead, Lookbehind und Unicode-Eigenschafts-Escapes funktionieren in aktuellen Browsern.

Warum stimmt mein Muster mit weit mehr Text überein, als ich erwartet habe?

Weil Quantoren standardmäßig gierig sind. Etwas wie .* oder [0-9]+ verbraucht so viel wie möglich, während der Rest des Musters trotzdem passt. Fügen Sie ein Fragezeichen hinzu, um es lazy zu machen, also .*? or [0-9]+? bleibt bei der ersten Gelegenheit stehen.

Warum erhalte ich nur ein Ergebnis?

The global flag is off. Ohne g gibt die Engine die erste Übereinstimmung zurück und stoppt. Schalten Sie g um, um jede Übereinstimmung in der Eingabe zu sammeln.

Warum funktioniert mein Anker in der zweiten Zeile nicht?

Standardmäßig beziehen sich die Caret- und Dollar-Anker auf den Anfang und das Ende der gesamten Zeichenfolge, nicht auf jede Zeile. Aktivieren Sie das m-Flag, um sie zeilenorientiert zu machen.

Werden meine Testdaten irgendwohin gesendet?

Nein. Der Abgleich erfolgt in Ihrem Browser mit dem integrierten RegExp-Objekt. Es wird nichts hochgeladen, weshalb Sie bedenkenlos echte Protokollzeilen oder Konfigurationsfragmente einfügen können.

Kann ich dies verwenden, um Eingaben in einem Formular zu validieren?

Sie können das Muster hier entwickeln, aber immer noch einmal auf dem Server validieren. Der clientseitige reguläre Ausdruck ist eine Annehmlichkeit für den Benutzer und stellt niemals eine Sicherheitskontrolle dar, da er vollständig übersprungen werden kann.

Verwandte Tools