Regex-Generator aus Beispiel

Eine Regex für eine Bestellnummer, eine Rechnungsreferenz oder ein Datum von Hand zu schreiben, ist mühsam und fehleranfällig. Fügen Sie eine Beispielzeichenkette im gewünschten Format ein: Dieses Werkzeug liest sie von links nach rechts, wandelt jede Folge aus Ziffern, Groß- und Kleinbuchstaben in eine Zeichenklasse der passenden Länge um und lässt Satzzeichen und Symbole als Literale stehen. Sie erhalten ein verankertes Muster als Ausgangspunkt, das Sie von Hand verfeinern.

So funktioniert es

  1. 1

    Ein Beispiel eingeben

    Tippen oder fügen Sie eine Beispielzeichenkette ein, die das gewünschte Format darstellt, etwa `Order #12345 placed on 2026-04-16`.

  2. 2

    Das Muster erzeugen

    Das Werkzeug durchläuft das Beispiel Zeichen für Zeichen und ersetzt jede Folge desselben Zeichentyps durch eine Zeichenklasse mit ihrer Länge.

  3. 3

    Die Aufschlüsselung lesen

    Unter dem Muster erklärt eine Bausteinliste jedes Element, damit Sie sehen, welcher Teil Ziffern, Buchstaben oder Literaltext erkannt hat.

  4. 4

    Kopieren und verfeinern

    Nutzen Sie das Muster als Ausgangspunkt. Passen Sie die festen Längen oder die Klassen von Hand an, damit es zum gesamten Bereich Ihrer echten Daten passt.

Wie das Muster aufgebaut wird

Das Werkzeug liest das Beispiel von links nach rechts. Trifft es auf eine Folge desselben Zeichentyps, gibt es eine Zeichenklasse in der Größe dieser Folge aus:

  • eine Folge von Ziffern wird zu \d{n}, wobei n die Anzahl der Ziffern ist
  • eine Folge von Großbuchstaben A-Z wird zu [A-Z]{n}
  • eine Folge von Kleinbuchstaben a-z wird zu [a-z]{n}
  • ein einzelnes Leerzeichen wird zu \s, mehrere Leerzeichen zu \s{n}
  • alles andere (Satzzeichen, Symbole, Buchstaben mit Akzent oder nicht lateinische Zeichen) bleibt als maskiertes Literalzeichen erhalten

Das fertige Muster wird in ^ und $ eingefasst, damit es die gesamte Zeichenkette von Anfang bis Ende erkennt und nicht nur einen Ausschnitt.

Beispiel

Für das Beispiel Order #12345 placed on 2026-04-16 erzeugt das Werkzeug:

/^[A-Z]{1}[a-z]{4}\s\#\d{5}\s[a-z]{6}\s[a-z]{2}\s\d{4}\-\d{2}\-\d{2}$/

Order ist ein Großbuchstabe gefolgt von vier Kleinbuchstaben; 12345 wird zu \d{5}; und das Datum 2026-04-16 wird zu \d{4}\-\d{2}\-\d{2}.

Was es leistet und was nicht

  • Die Längen sind fest. 12345 wird zu \d{5}, was genau fünf Ziffern erkennt, nicht „eine oder mehrere“. Variiert die Anzahl in Ihren Daten, ersetzen Sie {5} von Hand durch + oder einen Bereich wie {3,8}.
  • Es arbeitet mit einem einzigen Beispiel. Es spiegelt die Struktur der einen übergebenen Zeichenkette wider und kann daher nicht von allein über mehrere Beispiele verallgemeinern. Geben Sie ihm die repräsentativste Zeichenkette.
  • Nur A-Z und a-z gelten als Buchstaben. Zeichen mit Akzent und nicht lateinische Zeichen bleiben Literale; ersetzen Sie sie durch eine Klasse wie \w oder \p{L}, wenn sie eine größere Menge erkennen sollen.
  • Eine Regex kann nicht alles ausdrücken. Dinge wie ausgeglichene Klammern liegen außerhalb der Reichweite jeder Regex, egal wie viele Beispiele. Für verschachtelte Strukturen brauchen Sie einen Parser, kein Muster.

Ein guter Arbeitsablauf

  1. Erzeugen Sie ein Muster aus einem klaren, repräsentativen Beispiel.
  2. Lockern Sie die festen Längen ({5} wird zu + oder {3,8}), wo die Länge variiert.
  3. Fügen Sie das Muster mit einer größeren Menge echter Zeichenketten in den Regex-Tester ein.
  4. Passen Sie es an, bis es alles erkennt, was es soll, und nichts, was es nicht soll.

Häufig gestellte Fragen

Eines. Der Generator liest eine einzige Beispielzeichenkette und spiegelt ihre Struktur. Wählen Sie die Zeichenkette, die Ihr Format am besten darstellt, und erweitern Sie das Muster dann von Hand für die übrigen Fälle.

Das Werkzeug zählt die genauen Zeichen Ihres Beispiels, also werden fünf Ziffern zu \d{5}. Variiert die Anzahl in echten Daten, ersetzen Sie {5} durch +, * oder einen Bereich wie {3,8}.

Die Anker sorgen dafür, dass das Muster die gesamte Zeichenkette von Anfang bis Ende erkennt. Entfernen Sie sie, wenn Sie das Muster innerhalb eines längeren Textes suchen möchten.

Es erkennt A-Z und a-z als Buchstaben. Jedes andere Zeichen, einschließlich Buchstaben mit Akzent, kyrillischer oder CJK-Zeichen, bleibt ein Literal. Ersetzen Sie es von Hand durch eine Klasse wie \w oder \p{L}, wenn es mehr erkennen soll.

Standardsyntax (\d, [A-Z], {n}), die unverändert in PCRE, JavaScript, Python und den meisten Engines funktioniert.

Verwandte Tools

Tool in anderen Sprachen verfügbar