Zum Inhalt springen

Reguläre Ausdrücke testen

Testen Sie einen regulären JavaScript-Ausdruck an Ihrem Text, mit Live-Hervorhebung der Treffer, Erfassungsgruppen und einer Erklärung in einfachen Worten, direkt in Ihrem Browser.

JavaScript-Regex-Variante (ECMAScript)Dieselbe Engine wie in Ihrem Browser, Node.js und Deno
//g

$1 oder $<name> fügt eine Gruppe ein, $& den gesamten Treffer, $` und $' den Text davor und danach, $$ ein Dollarzeichen.

Treffer und Erfassungsgruppen erscheinen hier.

Läuft in Ihrem Browser · kein UploadSo funktioniert's

So verwenden Sie Regex-Tester

  1. 1

    Muster eingeben

    Geben Sie den regulären Ausdruck ohne Schrägstriche ein; die Flags stellen Sie mit den Schaltern darunter ein.

  2. 2

    Teststring hinzufügen

    Fügen Sie den zu durchsuchenden Text ein; Treffer werden beim Tippen hervorgehoben und mit ihren Gruppen aufgelistet.

  3. 3

    Erklärung prüfen

    Öffnen Sie „Erklärung“, um jedes Token in einfachem Deutsch zu lesen und zu erkennen, was das Muster wirklich tut.

  4. 4

    Ersetzung ansehen

    Geben Sie eine Ersetzung mit $1 oder $<name> ein, um das Ergebnis zu sehen, und kopieren Sie dann den Code aus dem Tab „Code“.

Limits und Pro

Kostenlos und ohne Registrierung: bis zu 100.000 gezählte Treffer, 2.000 hervorgehoben und 200 in der Tabelle aufgelistet. Die Hervorhebung funktioniert bei Teststrings bis 200.000 Zeichen, und jeder Durchlauf wird nach 1,5 Sekunden gestoppt.

Pro entfernt die Werbung; der Tester verhält sich in allen Tarifen gleich. Pro ansehen

Über Regex-Tester

Dieser Tester führt Ihr Muster mit der im Browser integrierten JavaScript-Engine (ECMAScript) für reguläre Ausdrücke aus – derselben, die auch Node.js, Deno, Bun und jede Webseite verwenden. Was hier passt, passt also auch in Ihrem Code. Geben Sie ein Muster und einen Teststring ein, und jeder Treffer wird beim Tippen hervorgehoben. Dazu gibt es eine Tabelle mit Positionen, nummerierten und benannten Gruppen sowie Anfang und Ende jeder Gruppe, wenn das Flag d aktiv ist.

Alle acht Flags lassen sich ein- und ausschalten: g für alle Treffer, i um die Groß-/Kleinschreibung zu ignorieren, m damit ^ und $ pro Zeile gelten, s damit der Punkt auch Zeilenumbrüche erfasst, u für volles Unicode und \p{…}-Eigenschaften, v für Unicode-Mengen mit Schnitt und Differenz in eckigen Klammern, y für Sticky-Matching und d für Indizes. Das Feld „Ersetzen durch“ zeigt eine Vorschau von String.prototype.replace mit $1, $<name>, $& und den übrigen Platzhaltern. Im Tab „Code“ finden Sie passende Snippets für Literal, matchAll und RegExp().

Der Tab „Erklärung“ zerlegt das Muster in Tokens und beschreibt in einfachem Deutsch, was jedes davon tut – Gruppen, Lookarounds, Zeichenklassen, Quantifizierer und ob sie gierig oder faul sind. Der „Spickzettel“ fügt gängige Tokens an der Cursorposition ein.

Das Matching läuft in einem Web Worker im Hintergrund mit einem Limit von 1,5 Sekunden. Ein Muster mit katastrophalem Backtracking, etwa (a+)+b bei einer langen Folge von a, wird mit einer Erklärung gestoppt, statt den Tab einzufrieren. Muster für PCRE, Python oder .NET müssen eventuell angepasst werden: Possessive Quantifizierer, atomare Gruppen, Rekursion, \A und \Z gibt es in JavaScript nicht.

Datenschutz

Muster und Teststrings bleiben in diesem Browser-Tab: Das Matching läuft in einem lokalen Web Worker, und nichts, was Sie eingeben, wird hochgeladen, protokolliert oder gespeichert. Sie können also bedenkenlos echte Logzeilen oder Kundendaten testen.

Funktionen

Die echte JS-Engine

Trifft genau wie RegExp in Browsern und Node.js, einschließlich v-Flag-Mengen und benannter Gruppen.

Erklärung Token für Token

Jede Gruppe, Klasse, jeder Anker und Quantifizierer in einfachem Deutsch beschrieben.

Schutz vor Backtracking

Das Matching läuft in einem Worker mit 1,5 Sekunden Limit, damit ein fehlerhaftes Muster die Seite nicht einfrieren kann.

Regex-Tester: Häufig gestellte Fragen

Welchen Regex-Dialekt verwendet dieser Tester?
Den von JavaScript, wie ihn der ECMAScript-Standard definiert und Ihr Browser umsetzt. Unterstützt werden Lookbehind, benannte Gruppen, Unicode-Eigenschaften und das v-Flag, nicht aber PCRE-Funktionen wie possessive Quantifizierer, atomare Gruppen, Rekursion oder Bedingungen. Die Python-Syntax (?P<name>…) muss hier (?<name>…) lauten. Die Ergebnisse entsprechen Node.js und Deno mit derselben Engine-Version.
Warum findet mein Muster nur den ersten Treffer?
Ohne das Flag g hört JavaScript nach dem ersten Treffer auf: exec und match liefern nur ein Ergebnis, und replace ändert nur das erste Vorkommen. Aktivieren Sie g, um alle Treffer zu finden und zu ersetzen. Das Sticky-Flag y funktioniert anders: Es trifft nur genau dort, wo der vorherige Treffer endete, was für Tokenizer nützlich ist.
Was ist katastrophales Backtracking?
Kann ein Muster denselben Text auf viele Arten treffen, etwa bei verschachtelten Quantifizierern wie (a+)+ oder (.*)*, probiert die Engine bei einem fehlschlagenden Treffer jede Kombination durch, und der Aufwand wächst exponentiell mit der Eingabelänge. Hier endet das nach 1,5 Sekunden mit einer Warnung. Abhilfe: Alternativen gegenseitig ausschließen, zum Beispiel [^,]* statt .* vor einem Komma.
Wie nutze ich Gruppen in der Ersetzung?
Schreiben Sie $1, $2 und so weiter für nummerierte Gruppen oder $<name> für eine benannte Gruppe wie (?<year>\d{4}). $& fügt den gesamten Treffer ein, $` den Text davor und $' den Text danach; $$ ergibt ein Dollarzeichen. „Beispiel ausprobieren“ lädt ein Datumsmuster, das Jahr, Monat und Tag auf diese Weise umstellt.
Wann brauche ich das Flag u oder v?
Verwenden Sie u, wenn Ihr Text Emoji oder andere Zeichen außerhalb der Basic Multilingual Plane enthält, damit der Punkt und Quantifizierer sie als ein Zeichen behandeln, und für Unicode-Eigenschaften wie \p{L}. Das neuere Flag v enthält alles von u und ergänzt Mengenoperationen in Klammern, etwa [\p{L}--[a-z]] für Nicht-ASCII-Buchstaben. Beide Flags lassen sich nicht kombinieren.
Alle: entwickler-tools