Reguläre Ausdrücke Testen und Debuggen
Testen Sie ein Regex-Muster und sehen Sie Treffer, Gruppen und Flags live beim Tippen.
Muster und Stichprobe bleiben auf dem Gerät
Nichts, was später zu löschen wäre
Sicher für echte Betriebsstichproben
Läuft in jedem modernen Browser
So funktioniert es
- 1
Muster eingeben
Schreiben Sie es ins Feld und setzen Sie die Schalter, die Sie im Betrieb verwenden wollen.
- 2
Repräsentativen Text einfügen
Nehmen Sie die unangenehmen Fälle auf und Zeichenketten, die gar nicht passen sollen.
- 3
Treffer und Gruppen lesen
Prüfen Sie Gefundenes und Übersprungenes, bevor Sie das Muster irgendwohin mitnehmen.
Warum dieses Tool
Jeder Treffer live hervorgehoben
Sehen Sie beim Schreiben, was das Muster wirklich fängt, statt es aus der Syntax zu erraten.
Fanggruppen aufgeschlüsselt
Nummerierte und benannte Gruppen je Treffer aufgelistet — dort liegen die meisten Muster tatsächlich falsch.
Sichtbare Schalter
Global, Groß-/Kleinschreibung ignorieren, mehrzeilig und dotall ausdrücklich angezeigt statt in einem Trennzeichen versteckt.
Prüfen Sie auch die Nichttreffer
Fügen Sie die abzulehnenden Zeichenketten neben die zu findenden — das ist die Hälfte, die übersprungen wird.
Nichts wird hochgeladen
Muster und Beispieltext bleiben in Ihrem Browser; echte Protokollzeilen erreichen keinen Server.
Kostenlos, ohne Konto
Keine Anmeldung, kein Wasserzeichen, keine Obergrenze für die Menge.
Ein Muster, das Ihre Beispiele trifft, ist kein Muster, das funktioniert
Fast alle prüfen gleich: Ausdruck schreiben, drei Zeichenketten einfügen, die er fangen soll, sie hervorgehoben sehen, ausliefern. Das bestätigt, dass das Muster nicht völlig kaputt ist, und sagt nichts über den Fehler, der wirklich zubeißen wird. Die interessante Frage ist nicht, was es trifft, sondern was es außerdem trifft — die Eingabe, an die Sie nie gedacht haben und die durchrutscht, und die gültige Eingabe, die es still ablehnt. Ein Muster für eine Telefonnummer, das an vier Beispielen funktioniert, trifft auf eine internationale Vorwahl, eine Durchwahl oder ein Leerzeichen an unerwarteter Stelle. Die lohnende Disziplin lautet daher: Fügen Sie die abzulehnenden Zeichenketten absichtlich neben die zu fangenden ein und prüfen Sie beide Listen jedes Mal, wenn sich das Muster ändert.
Manche Muster können den Prozess anhalten, der sie ausführt
Das ist der Fehler, der einen regulären Ausdruck in einen Ausfall verwandelt, und er lohnt Kenntnis, weil er unsichtbar bleibt, bis er eintritt. Die meisten Maschinen arbeiten mit Rückverfolgung: Scheitert ein Zweig, gehen sie zurück und probieren einen anderen. Bei verschachtelten Quantoren — einer wiederholten Gruppe, die selbst wiederholt wird, der Form `(a+)+` — wächst die Zahl der zu probierenden Anordnungen exponentiell mit der Eingabelänge. Bei einer passenden Zeichenkette ist es sofort fertig; bei einer, die *fast* passt und am Ende scheitert, kann es länger laufen, als das Universum existiert. Angewandt auf Nutzereingaben ist das ein Denial-of-Service-Vektor, und er hat große Dienste zu Fall gebracht: Cloudflare und Stack Overflow haben Nachbetrachtungen veröffentlicht, die einen weltweiten Ausfall genau darauf zurückführen. Enthält Ihr Muster einen Quantor innerhalb einer quantifizierten Gruppe, prüfen Sie es mit einer langen, nicht passenden Zeichenkette, bevor es in die Nähe des Betriebs kommt.
Es gibt keine einzige Sprache für reguläre Ausdrücke
Die Syntax wirkt portabel und ist es nicht. JavaScript, PCRE wie in PHP und Perl, Python, Java, .NET und die POSIX-Werkzeuge setzen je einen anderen Dialekt um, und Muster wandern zwischen ihnen mit stillen Bedeutungsverschiebungen. Rückschau ist eine häufige Falle: In PCRE seit Jahrzehnten vorhanden, erreichte sie JavaScript erst kürzlich — ein Muster, das in Ihrem Editor läuft, kann im Browser scheitern. Go und mehrere andere Systeme nutzen RE2, einen völlig anderen Entwurf: Er garantiert lineare Laufzeit, sodass die oben beschriebene katastrophale Rückverfolgung unmöglich ist — erreicht das aber, indem er Rückverweise und Umgebungsprüfungen vollständig weglässt. Die Syntax benannter Gruppen, Unicode-Eigenschaftsmaskierungen und selbst der Umfang von `\d` unterscheiden sich. Prüfen Sie im Dialekt Ihres Zielsystems, sonst lautet das Ergebnis: hier grün, dort rot.
Gierig als Voreinstellung, und der Punkt ist enger als gedacht
Zwei Voreinstellungen erklären einen großen Teil merkwürdig arbeitender Muster. Quantoren sind gierig: `.*` nimmt, so viel es kann, und gibt nur zurück, was es muss — daher trifft `<.*>` auf `<a><b>` die ganze Zeichenkette statt des ersten Tags. Ein Fragezeichen macht es faul — `<.*?>` — und trifft jedes Tag einzeln, was fast immer gemeint war. Die zweite Voreinstellung: Der Punkt trifft keinen Zeilenumbruch. Bei einzeiligen Beispielen ist das unsichtbar und wird zum Rätsel, sobald das Muster auf ein mehrzeiliges Dokument stößt und am ersten Umbruch stehen bleibt; der dotall-Schalter behebt es. Ein verwandtes Paar gehört auseinandergehalten: Der mehrzeilige Schalter ändert die Bedeutung von `^` und `$`, bindet sie an jede Zeile statt an die ganze Zeichenkette — und tut dem Punkt nichts.
Wofür ein regulärer Ausdruck nicht taugt
Der Rat, HTML nicht mit einem regulären Ausdruck zu zerlegen, wird meist als Scherz erzählt, und der Grund darunter ist präzise: HTML verschachtelt beliebig tief, ein öffnendes Tag seinem schließenden zuzuordnen verlangt Zählen, und ein regulärer Ausdruck hat kein Gedächtnis zum Zählen. Es geht nicht darum, ein besseres Muster zu schreiben — die Sprachklasse ist falsch. E-Mail-Adressen scheitern anders. Die Grammatik in RFC 5322 erlaubt Zeichenketten in Anführungszeichen, Kommentare und Zeichen, mit denen niemand rechnet; ein wirklich konformes Muster reicht daher in die Tausende von Zeichen und kann das Einzige, was zählt, dennoch nicht sagen: ob die Adresse Post empfängt. Praktische Regel für beides: ein echter Parser für strukturierte Auszeichnung, und für eine Adresse prüfen, dass ein `@` mit etwas auf jeder Seite vorhanden ist, und dann eine Bestätigungsnachricht senden.
Warum lokales Prüfen bei dieser Art Text zählt
Das Muster selbst ist selten heikel. Was Sie zum Prüfen einfügen, ist es meist, denn ein regulärer Ausdruck lohnt Prüfung nur an realistischer Eingabe — also echten Protokollzeilen mit echten Adressen darin, einem Export von Kundendatensätzen, den Sie säubern wollen, einer Stichprobe aus dem Betrieb, die Sie gerade deshalb kopiert haben, weil die künstlichen Beispiele das Problem nicht zeigten. Dieses Material macht die Prüfung aussagekräftig, und es ist das Material, das Sie Dritten nicht überlassen würden. Dieses Werkzeug führt den Abgleich auf der Seite aus und überträgt weder Muster noch Stichprobe, nachprüfbar im Netzwerk-Tab der Entwicklerwerkzeuge.
Häufige Fehler, die Sie vermeiden sollten
- Nur Zeichenketten prüfen, die passen sollen. Der Fehler, der zubeißt, ist die unbedachte Eingabe, die durchrutscht — fügen Sie bei jeder Musteränderung auch die abzulehnenden ein.
- Einen Quantor in eine quantifizierte Gruppe verschachteln. Formen wie `(a+)+` verfolgen bei einer Beinahe-Übereinstimmung exponentiell zurück — ein Denial-of-Service-Vektor mit dokumentierten weltweiten Ausfällen.
- Annehmen, das Muster sei portabel. Rückschau, benannte Gruppen und Unicode-Maskierungen unterscheiden sich zwischen JavaScript, PCRE, Python und RE2 — prüfen Sie im Zieldialekt.
- Vergessen, dass `.` keinen Zeilenumbruch trifft. Ein einzeilig funktionierendes Muster hält am ersten Umbruch eines Dokuments — gewünscht ist dotall, nicht mehrzeilig.
- HTML zerlegen oder E-Mail prüfen mit einem regulären Ausdruck. Verschachtelung braucht einen Zähler, den er nicht hat, und ein konformes Adressmuster sagt dennoch nicht, ob Post ankommt.
Im Vergleich
| Kriterium | Dieses Werkzeug | Online-Prüfer | Das Suchfeld eines Editors |
|---|---|---|---|
| Inhalt an einen Server gesendet | Nie | Meistens ja | Nein |
| Fanggruppen aufgeschlüsselt | Ja | Meistens | Selten |
| Schalter ausdrücklich gezeigt | Ja | Meistens | Teilweise |
| Läuft ohne geöffnetes Projekt | Ja | Ja | Nein |
| Konto oder Anmeldung | Nicht nötig | Manchmal verlangt | Nicht nötig |
| Preis | Kostenlos | Kostenlos / Bezahltarife | Kostenlos / kostenpflichtig |
Funktionen
Live-Hervorhebung
Treffer im Beispieltext markiert, während sich das Muster ändert, mit Detail beim Überfahren.
Benannte und nummerierte Gruppen
Jeder Fang je Treffer aufgelistet, damit Sie sehen, welche Gruppe was enthält.
Alle gängigen Schalter
Global, Schreibweise ignorieren, mehrzeilig, dotall, Unicode und haftend — jeder einzeln umschaltbar.
Trefferzahl und Positionen
Wie viele Fundstellen und wo sie beginnen — wichtig beim Ersetzen, nicht nur beim Suchen.
Syntaxfehler erklärt
Eine unbalancierte Klammer oder eine falsche Maskierung nennt das Problem, statt stillschweigend nichts zu treffen.
Verträgt lange Eingaben
Ganze Protokolldateien lassen sich ohne Upload als Prüfgegenstand einfügen.
Nichts zu installieren
Kein Editor, keine Laufzeitumgebung, keine Abhängigkeiten — es läuft auf der Webseite.
Bereit für Arabisch und RTL
Vollständige Oberfläche in acht Sprachen, darunter Arabisch von rechts nach links.
Standardmäßig sicher
Über HTTPS ausgeliefert, ohne Inhaltsverfolgung und ohne Upload an Dritte.
Wer es nutzt
Entwicklerinnen und Entwickler
Ein Muster an echten Beispieldaten zurechtbiegen, bevor es in den Code wandert.
Datenanalyse
Ein Extraktionsmuster für eine unordentliche Spalte bauen und genau sehen, was es verfehlt.
Systemadministration
Einen Protokollfilter an echten Zeilen prüfen statt an erfundenen.
Wer reguläre Ausdrücke lernt
Beobachten, was ein Muster tut, während man es ändert — schneller als darüber zu lesen.
Häufig Gestellte Fragen
Nein. Alles läuft lokal im Browser — Ihr Text wird nie hochgeladen, gespeichert oder geteilt.
Ja — komplett kostenlos, ohne Konto und ohne Limits.