iGotTools

Regex-Muster testen

Teste Regex in deinem Browser. Gib Muster und Testtext ein, schalte Flags, prüfe Treffer und Gruppen und zeige Ersetzungen lokal vor.

Reguläre Ausdrücke sind genau deshalb stark, weil sie kompakt sind, aber eben diese Kompaktheit macht es leicht, sich subtil zu irren. Ein Muster, das richtig aussieht, kann zu viel, zu wenig oder gar nichts treffen, und der einzige zuverlässige Weg, das zu wissen, ist, es gegen echten Text laufen zu lassen. Der Regex Tester führt einen regulären Ausdruck von JavaScript in deinem Browser aus, zeigt jeden Treffer mit seinen Erfassungsgruppen an und zeigt Ersetzungen vor — alles ohne deinen Text hochzuladen.

TL;DR

Du kannst eine Regex gegen echte Eingabe entwickeln und prüfen, komplett lokal.

  • Treffer und Gruppen sehen — jeder Treffer listet Text, Indexbereich und Erfassungsgruppen (auch benannte Gruppen).
  • Ersetzungen vorab sehen — gib eine Ersetzung ein und sieh das veränderte Ergebnis sofort, mit Hinweis, wenn sich nichts ändert.
  • Alle sieben JS-Flags — schalte g, i, m, s, u, y oder d und beobachte, wie sich das Ergebnis aktualisiert.

Was Regex ist

Ein regulärer Ausdruck ist ein Muster, das eine Menge von Zeichenketten beschreibt. Er ist das Standardwerkzeug, um Text zu suchen, zu prüfen, zu extrahieren und zu ersetzen, und in jeder Programmiersprache eingebaut. In JavaScript ist eine Regex ein RegExp-Objekt, und du schreibst sie als Literal (/\d+/g) oder indem du eines konstruierst (new RegExp("\\d+", "g")).

Die typischen Aufgaben von Regex:

  • Prüfung — “sieht diese Zeichenkette wie eine E-Mail, ein Datum, eine Telefonnummer aus?”
  • Extraktion — “ziehe jede URL, jede Zahl, jeden zitierten Satz aus diesem Text.”
  • Ersetzung — “tausche jeden Platzhalter gegen einen echten Wert” oder “normalisiere allen Whitespace.”

Weil Regex kurz und symbolisch ist, ändert ein einziges falsch gesetztes Zeichen die Bedeutung. Gegen repräsentative Eingabe zu testen ist der Weg, “ich glaube, es funktioniert” zu “es funktioniert” zu machen.

Die Bestandteile eines Regex-Musters

Ein Muster ist aus wenigen Bausteinen zusammengesetzt. Sie beim Namen zu kennen macht Muster lesbar:

  • Literale — gewöhnliche Zeichen, die sich selbst treffen. cat trifft die Buchstaben c, a, t in Folge.
  • Zeichenklassen — eine Menge erlaubter Zeichen in Klammern. [a-z] trifft jeden Kleinbuchstaben; \d steht für [0-9], \w für Wortzeichen, . für (fast) jedes Zeichen.
  • Quantoren — wie oft sich das Vorige wiederholt. * ist null oder mehr, + eins oder mehr, ? null oder eins, und {n} oder {n,m} eine genaue oder begrenzte Anzahl.
  • Anker — Position, keine Zeichen. ^ trifft den Anfang der Zeichenkette (oder Zeile, mit Flag m), $ das Ende.
  • Gruppen — Klammern (...) erfassen einen Teil des Treffers, um ihn später zu referenzieren. Benannte Gruppen (?<year>\d{4}) geben der Erfassung einen lesbaren Namen.
  • Alternationcat|dog trifft cat oder dog.

Diese Bausteine zu verbinden ist, wie Muster geschrieben werden, und sie auf Text angewandt zu sehen ist, wie sie geprüft werden.

Flags

Flags ändern das Verhalten des gesamten Musters und werden hinter den schließenden Schrägstrich gestellt (zum Beispiel /x/gi). Der Tester macht alle sieben JavaScript-Flags als Schalter zugänglich:

  • g (Global) — finde alle Treffer, nicht nur den ersten. Ohne g hält die Suche nach dem ersten Treffer an.
  • i (Gross/Klein ignorieren) — macht den Treffer groß-klein-unabhängig, sodass [a-z] auch Großbuchstaben trifft.
  • m (Mehrzeilig) — lässt ^ und $ Anfang und Ende jeder Zeile treffen, nicht nur der ganzen Zeichenkette.
  • s (Dot all) — lässt . auch Zeilenumbrüche treffen, was es sonst nicht tut.
  • u (Unicode) — behandelt das Muster als Unicode-Codepunkte, unerlässlich für Emojis und nicht-ASCII-Schriften.
  • y (Sticky) — trifft nur bei lastIndex und verankert jede Suche an einer genauen Position.
  • d (Indizes) — legt Anfangs- und Endindex jeder Erfassungsgruppe offen, zusätzlich zu ihren Werten.

Den Alltag decken meist g und i; die restlichen lösen konkrete Fälle bei mehrzeiligem Text, Unicode oder fortgeschrittenem Scannen.

Schritt für Schritt: ein Muster testen

Öffne den Regex Tester und durchlaufe diesen Ablauf.

  1. Gib dein Muster ins Feld Muster ein. Schreibe es ohne umschließende Schrägstriche und ohne Flags — das Werkzeug baut das Literal für dich.
  2. Füge deinen Testtext in das Textfeld ein. Das ist der Heuhaufen, den dein Muster durchsucht.
  3. Schalte die Flags, die du brauchst — g, i, m, s, u, y oder d. Das Ergebnis aktualisiert sich beim Umschalten.
  4. Prüfe den Treffer-Reiter. Jeder Treffer zeigt den getroffenen Text, seinen Indexbereich und etwaige Erfassungsgruppen (benannte Gruppen erscheinen mit Namen). Wenn nichts trifft, steht da “Keine Treffer”.
  5. Wechsle in den Ersetzen-Reiter. Gib eine Ersetzung ein (du kannst Gruppen wie $1 oder $<name> referenzieren). Das Werkzeug führt text.replace(regex, replacement) aus und zeigt das Ergebnis oder sagt dir, wenn sich nichts geändert hat.
  6. Kopieren oder Zurucksetzen. Nutze Regex kopieren für das Literal, Zusammenfassung kopieren für die Trefferliste, Ersetzung kopieren für das Ergebnis oder Zurucksetzen zum Leeren.

Wenn du nicht weißt, wo du anfangen sollst, lädt das Dropdown Beispiel ein fertiges Muster und Text für Datum, E-Mail, URL oder Worter und zeigt dir sofort ein funktionierendes Beispiel.

Grenzen und JavaScript-spezifische Hinweise

Einige ehrliche Beschränkungen, damit das Werkzeug ist, was du erwartest:

  • Nur die JavaScript-Engine. Das Werkzeug führt new RegExp(pattern, flags) in deinem Browser aus und spiegelt damit die JavaScript-Regex-Engine — nicht PCRE, Python oder Java. Muster für andere Engines können sich anders verhalten, und das Werkzeug “erklärt” dir kein Muster.
  • Begrenzte Größen. Das Muster ist auf 500 Zeichen und der Testtext auf 20.000 begrenzt. Übersteigst du eines, meldet das Werkzeug das Problem, statt zu laufen.
  • Höchstens 200 Treffer. Wenn ein Muster mehr als 200-mal trifft, zeigt das Werkzeug die ersten 200 mit dem Hinweis “Die ersten 200 Treffer werden angezeigt.”. Zum Prüfen reicht das; zum Zählen riesiger Eingaben verfeinere dein Muster.
  • Lookbehind hängt von Engine und Alter ab. JavaScript-Lookbehind ((?<=...)) wird in modernen Browsern unterstützt, fehlte aber in älteren Engines und unterscheidet sich von PCRE. Wenn ein Lookbehind scheitert, liegt es meist daran.

FAQ

Unterstützt es PCRE?

Nein. Das Werkzeug nutzt die JavaScript-RegExp-Engine (new RegExp(pattern, flags)), die eine eigene Syntax und einen eigenen Funktionsumfang hat und nicht PCRE-kompatibel ist. PCRE-exklusive Funktionen — etwa rekursive Muster oder bestimmte POSIX-Klassen — funktionieren hier nicht. Schreibe Muster für die JavaScript-Engine oder wandle PCRE-Muster vor dem Testen um.

Was sind Erfassungsgruppen?

Klammern in einem Muster ( ... ) erzeugen eine Erfassungsgruppe, die sich den getroffenen Textteil merkt, um ihn später zu referenzieren — per Nummer ($1, $2) in einer Ersetzung oder per Namen, wenn du eine benannte Gruppe (?<name> ...) geschrieben hast. Der Treffer-Reiter zeigt den Wert jeder Gruppe (und ihren Namen, falls vorhanden), und so bestätigst du, dass das Muster erfasst, was du wolltest.

Wie ersetze ich Text?

Wechsle in den Ersetzen-Reiter und gib eine Ersetzung ein. Das Werkzeug führt text.replace(regex, replacement) mit deinen aktuellen Flags aus und zeigt das Ergebnis; du kannst Gruppen mit $1, $2, … oder benannte Gruppen mit $<name> referenzieren. Ist das globale Flag g aus, wird nur der erste Treffer ersetzt. Wenn sich nichts ändert, sagt das Werkzeug das unmissverständlich.

Warum nur 200 Treffer?

Aus Sicherheit und Geschwindigkeit. Ein Muster kann in einem großen Dokument tausendfach treffen, und jeden Treffer anzuzeigen würde die Seite bis zum Stillstand verlangsamen. Die Grenze von 200 reicht aus, um zu prüfen, dass ein Muster das trifft, was du denkst; brauchst du die vollständige Zahl, mach das Muster spezifischer oder teste einen kleineren Ausschnitt.

iGotTools

Mit diesem Tool starten

Jetzt starten