Regex Tester

Schreiben Sie einen regulären Ausdruck und sehen Sie beim Tippen, was er findet – mit Gruppen, Ersetzungsvorschau, einer Klartext-Erklärung jedes Tokens und fertigem Code.

  • Live-Suche
  • Erklärt das Muster
  • Code für 7 Sprachen
  • Läuft lokal
Funktion

$1, $2 … stehen für Gruppen, $<name> für benannte Gruppen und $& für den ganzen Treffer.

Treffer

Kein Treffer

Muster erklärt

    Geben Sie ein Muster ein, um zu sehen, was jeder Teil bewirkt.

    Häufige Muster

    Klicken Sie auf ein Muster, um es mit einem Beispieltext zu laden. Passen Sie es an Ihre Regeln an – echte Daten sind unordentlicher als jedes Beispiel.

    Im eigenen Code verwenden

    Das Snippet übersetzt Flags und Gruppensyntax. Die Engines unterscheiden sich im Detail – Go kennt zum Beispiel weder Lookarounds noch Rückverweise –, testen Sie daher auch in der Zielsprache.

    Kurzreferenz
    .Ein beliebiges Zeichen außer Zeilenumbruch
    \dEine Ziffer (0–9)
    \wEin Wortzeichen (Buchstabe, Ziffer oder _)
    \sEin Leerraumzeichen (Leerzeichen, Tab, Zeilenumbruch)
    \D \W \SDas Gegenteil: keine Ziffer, kein Wortzeichen, kein Leerraum
    [abc]Eines der Zeichen a, b oder c
    [^abc]Ein beliebiges Zeichen außer a, b oder c
    [a-z]Ein Zeichen im Bereich a bis z
    ^Textanfang
    $Textende
    \bEine Wortgrenze
    a|bOder – entweder der Teil davor oder der danach
    (…)Einfangende Gruppe
    (?:…)Gruppe ohne Einfangen
    (?<name>…)Benannte einfangende Gruppe
    \1Derselbe Text, den Gruppe 1 gefunden hat
    (?=…)Lookahead – danach muss … folgen
    (?!…)Negativer Lookahead – danach darf … nicht folgen
    (?<=…)Lookbehind – davor muss … stehen
    (?<!…)Negativer Lookbehind – davor darf … nicht stehen
    *Null- oder mehrmals
    +Ein- oder mehrmals
    ?Optional (null- oder einmal)
    {3}Genau 3-mal
    {2,5}2- bis 5-mal
    *? +?Genügsam: so wenig wie möglich
    \.Ein wörtlicher Punkt (maskiertes Sonderzeichen)
    \p{L}Ein Buchstabe beliebiger Sprache (braucht das Flag u)
    So funktioniert es

    So testen Sie einen regulären Ausdruck

    Oben das Muster, darunter der Text.

    1. 1

      Muster eingeben

      Ohne die umgebenden Schrägstriche; schalten Sie die benötigten Flags ein oder aus.

    2. 2

      Testtext hinzufügen

      Fügen Sie echte Beispiele ein – Zeilen, die passen sollen, und solche, die es nicht sollen. Treffer werden sofort markiert.

    3. 3

      Prüfen, ersetzen, exportieren

      Sehen Sie sich jeden Treffer mit seinen Gruppen an, probieren Sie eine Ersetzung und kopieren Sie das Snippet für Ihre Sprache.

    Warum ToolCMB

    Sehen, was das Muster wirklich tut

    Weniger Überraschungen im Produktivbetrieb.

    Hervorhebung im Text

    Treffer werden direkt in Ihrem Text markiert; ein Klick in der Liste springt zum Treffer.

    Gruppen aufgeschlüsselt

    Jeder Treffer zeigt seine nummerierten und benannten Gruppen – auch jene, die nicht beteiligt waren.

    Ersetzen und Teilen

    Vorschau einer Ersetzung mit $1, $<name> und $& oder die Teile, die ein Split ergibt.

    In Klartext erklärt

    Jedes Token des Musters wird beschrieben – Quantoren, Klassen, Gruppen, Lookarounds –, damit Sie auch fremde Regex lesen können.

    Als Code kopieren

    Das Muster mit korrekter Maskierung und Flags für JavaScript, Python, PHP, Java, C#, Go oder Ruby.

    Schutz vor ausufernden Mustern

    Die Suche läuft in einem Hintergrund-Thread. Ein Muster mit katastrophalem Backtracking wird nach kurzer Zeit gestoppt, statt die Seite einzufrieren.

    Link zum Teilen

    Kopieren Sie einen Link, der das Tool mit demselben Inhalt öffnet. Die Daten stehen im Teil der Adresse nach dem #, den Browser nicht an Server senden.

    Privat

    Alles läuft in Ihrem Browser. Was Sie eingeben oder öffnen, wird nicht an einen Server gesendet.

    Reguläre Ausdrücke in fünf Minuten

    Ein regulärer Ausdruck beschreibt ein Zeichenmuster. Die meisten Zeichen stehen für sich selbst, einige haben Sonderbedeutung. Zeichenklassen wie \d (Ziffer), \w (Wortzeichen) oder [a-f] passen auf ein Zeichen aus einer Menge. Quantoren sagen, wie oft: * null- oder mehrmals, + ein- oder mehrmals, ? optional, {2,4} zwei- bis viermal. Anker wie ^, $ und \b passen auf Positionen, nicht auf Zeichen.

    Klammern bilden Gruppen. Eine einfangende Gruppe merkt sich ihren Treffer, sodass Sie ihn in einer Ersetzung ($1) oder im Code wiederverwenden können; (?<jahr>\d{4}) gibt der Gruppe einen Namen. Quantoren sind standardmäßig gierig – sie nehmen so viel wie möglich – und werden mit nachgestelltem ? genügsam. Dieser Unterschied erklärt die meisten „es passt zu viel“-Probleme, etwa <.+> gegenüber <.+?>.

    Dieser Tester verwendet die JavaScript-Engine Ihres Browsers; die Ergebnisse sind daher für JavaScript und TypeScript exakt und für andere Sprachen sehr nah dran. Die wichtigsten Unterschiede: Python schreibt benannte Gruppen als (?P<name>…), Gos RE2-Engine kennt weder Lookarounds noch Rückverweise, und Flags werden anders übergeben. Prüfen Sie sicherheitsrelevante Eingaben – E-Mail-Adressen, URLs – stets mit einem dafür gebauten Parser und nicht allein per Regex.

    Die Flags

    FlagNameWirkung
    gglobalAlle Treffer finden, statt nach dem ersten aufzuhören
    iignore caseGroß- und Kleinbuchstaben gelten als gleich
    mmultiline^ und $ passen auch an Anfang und Ende jeder Zeile
    sdot allDer Punkt passt auch auf Zeilenumbrüche
    uunicodeBehandelt den Text als Unicode-Codepunkte und erlaubt \p{…}
    ystickyPasst nur genau dort, wo der letzte Treffer endete

    Tipps

    • Den Code rund um Ihr Muster formatiert der Code-Formatierer.
    • Suchen in JSON? Machen Sie die Struktur zuerst mit dem JSON-Formatierer lesbar.
    • Prozentkodierten Text dekodieren Sie vor der Suche mit dem URL-Encoder/Decoder.
    • Vermeiden Sie bei Benutzereingaben verschachtelte Quantoren wie (a+)+ oder (.*)*: Sie können exponentiell lange laufen (ReDoS). Machen Sie den inneren Teil stattdessen eindeutig.
    FAQ

    Häufig gestellte Fragen

    Keine Antwort gefunden? Schreiben Sie uns – wir antworten schnell.

    Welchen Regex-Dialekt verwendet dieser Tester?

    Die in Ihren Browser eingebaute JavaScript-Engine (ECMAScript) samt Lookbehind, benannten Gruppen und Unicode-Eigenschaften. Muster verhalten sich in JavaScript, TypeScript und Node.js identisch.

    Warum findet mein Muster nur den ersten Treffer?

    Ohne das Flag g (global) hört ein regulärer Ausdruck nach dem ersten Treffer auf. Schalten Sie g ein, um alle zu finden.

    Was ist der Unterschied zwischen gierig und genügsam?

    Ein gieriger Quantor (.*) nimmt so viel wie möglich und gibt bei Bedarf Zeichen zurück; ein genügsamer (.*?) nimmt so wenig wie möglich. Zwischen zwei Begrenzern wollen Sie meist den genügsamen.

    Was bedeutet „katastrophales Backtracking“?

    Manche Muster können exponentiell viele Wege durchprobieren, um einen Text zu treffen – typisch bei verschachtelten Quantoren wie (a+)+$. Der Tester bricht einen solchen Lauf nach etwa zwei Sekunden ab und meldet es.

    Kann ich das Muster in Python oder PHP verwenden?

    Meist ja. Der Code-Abschnitt wandelt Flags, Maskierung und die Syntax benannter Gruppen für Python, PHP, Java, C#, Go und Ruby um. Testen Sie das Ergebnis in der Zielsprache, denn die Engines unterscheiden sich im Detail.

    Werden meine Daten an einen Server gesendet?

    Nein. Das Tool läuft vollständig in Ihrem Browser. Ihre Eingaben werden nicht hochgeladen, protokolliert oder auf unseren Servern gespeichert.

    Weitere kostenlose Entwickler-Tools

    Kodieren, formatieren, testen, umrechnen und erzeugen – kleine Werkzeuge, die im Browser laufen und Ihre Daten auf Ihrem Gerät lassen.

    Alle Tools ansehen