Zum Inhalt springen

Regex-Tester FREE

Teste reguläre Ausdrücke live im Browser. Sieh hervorgehobene Treffer, Fanggruppen, benannte Gruppen und eine Erklärung des Musters Token für Token.

Kostenlos nutzbar Keine Registrierung Datenschutz zuerst
01Eingabe

Einen regulären Ausdruck testen

Gib das Muster ohne die umgebenden Schrägstriche ein, füge den Testtext ein und wähle dann die Flags. Der Abgleich läuft beim Tippen in deinem Browser.

Engine JavaScript / ECMAScript Läuft in deinem Browser: nichts wird hochgeladen

Gib die umgebenden Schrägstriche nicht ein. Ein Schrägstrich im Muster muss hier nicht maskiert werden.

Als Literal

Dein Text wird genau so verwendet, wie du ihn eingibst. Nichts wird gekürzt, denn Leerzeichen am Anfang und Ende können das Ergebnis verändern.

Flags

u und v sind zwei verschiedene Unicode-Modi und lassen sich nicht kombinieren: Die Wahl des einen hebt das andere auf.

02Erklärung

Erklärung des Musters

Das Muster wird in deinem Browser Token für Token gelesen. Ein Konstrukt, das dieser Leser nicht abbildet, wird so gezeigt, wie es geschrieben ist, statt falsch beschrieben zu werden.

Gib oben ein Muster ein, um die Zerlegung zu sehen.

03Ergebnis

Treffer

Gib ein Muster ein, um Live-Treffer zu sehen

Treffer, Positionen, Fanggruppen und eine Zerlegung des Musters erscheinen hier, sobald du zu tippen beginnst. Du kannst auch eines der gängigen Muster weiter unten laden.

Trefferdetails und gefangene Gruppen

Positionen sind JavaScript-Stringindizes, gezählt in UTF-16-Codeeinheiten. Zeichen außerhalb der Basic Multilingual Plane, etwa viele Emojis, zählen als zwei.

    Dieses Muster hat im aktuellen Testtext nichts gefunden. Das ist ein Ergebnis, kein Fehler: Das Muster selbst ist gültig.

    04Bibliothek

    Gängige Muster

    Praktische Ausgangspunkte, jeweils mit Beispieltext. Es sind keine vollständigen Validatoren: Echte Regeln für E-Mail, URL, Telefon und Datum hängen vom System ab, das du baust. Nimm sie als ersten Entwurf und passe sie an.

    Text

    Entwicklung

    Polen

    05Referenz

    Über reguläre Ausdrücke in JavaScript

    01

    Was ein regulärer Ausdruck ist

    Ein regulärer Ausdruck ist ein Muster, das eine Menge von Zeichenketten beschreibt. Statt nach einem festen Wort zu suchen, beschreibst du seine Form - vier Ziffern, dann ein Bindestrich, dann zwei Ziffern - und die Engine findet jede Textstelle mit dieser Form. Reguläre Ausdrücke stecken in fast jedem Editor, jeder Sprache und jedem Kommandozeilenwerkzeug.

    02

    So benutzt du diesen Tester

    Tippe ein Muster ohne die umgebenden Schrägstriche, schalte die nötigen Flags ein und füge den Text ein, den du prüfen willst. Der Abgleich läuft bei jeder Änderung, deshalb aktualisieren sich Vorschau, Trefferliste und Zerlegung beim Tippen. Nichts wird abgeschickt und nichts gespeichert.

    03

    Die JavaScript- und ECMAScript-Variante

    Der Abgleich nutzt die Regex-Engine deines Browsers, die die ECMAScript-Spezifikation umsetzt. Andere Varianten sind wirklich andere Sprachen: PCRE, PHP, Python, Java und .NET ergänzen oder streichen Syntax, deshalb kann ein Muster, das hier funktioniert, anderswo Anpassungen brauchen. Dieses Werkzeug berichtet nur, was ECMAScript tut.

    04

    Fanggruppen und benannte Gruppen

    Klammern fangen den Teil des Treffers, den sie umschließen, von links nach rechts nummeriert. Ein Name wie in (?<year>...) macht dieselbe Fanggruppe im Code lesbar. Eine optionale Gruppe, die am Treffer nicht beteiligt war, wird als kein Treffer gemeldet, und das ist etwas anderes als eine Gruppe, die einen leeren String getroffen hat.

    05

    Warum der Abgleich in einem Worker läuft

    Manche Muster sind pathologisch: (a+)+$ auf einer langen Folge von a zwingt die Engine, astronomisch viele Pfade zu probieren. Der Abgleich läuft deshalb in einem Hintergrund-Thread mit Zeitlimit. Überschreitet ein Lauf es, wird der Thread gestoppt und der Tester sagt das auch - das Muster ist teuer, nicht ungültig - und das nächste Muster läuft wieder normal.

    06

    Datenschutz

    Das Muster, die Flags, der Testtext, die Treffer und die gefangenen Gruppen bleiben in diesem Browser-Tab. Sie gehen nicht an POLPROG, nicht an Analytics oder Fehlerberichte, landen nicht in der Adressleiste und werden nicht zwischen Besuchen gespeichert. Die Seite zu schließen genügt, um sie zu entfernen.

    Umfang und Grenzen

    Was dieser Tester abdeckt

    ECMAScript-Abgleich im Browser, mit klar genannten Grenzen

    Der Tester führt dein Muster mit der ECMAScript-Engine des Browsers auf deinem Text aus und meldet, was sie zurückgibt: Treffer, Positionen, Fanggruppen und benannte Gruppen. Er prüft keine anderen Regex-Varianten, misst keine Leistung und begrenzt den Testtext auf 200.000 Zeichen und die ausführliche Trefferliste auf die ersten 100 Treffer, damit ein großes Ergebnis lesbar bleibt. Die Gesamtzahl der Treffer wird weiterhin vollständig gemeldet.

    Hilfe

    FAQ

    Sieht POLPROG meinen regulären Ausdruck oder meinen Testtext?

    Nein. Alles läuft in deinem Browser: Muster, Flags, Testtext, Treffer und gefangene Gruppen bleiben auf der Seite. Dieses Werkzeug macht keinen API-Aufruf, schreibt nichts in den Speicher und schickt nichts an Analytics oder Fehlerberichte.

    Welche Regex-Variante nutzt dieser Tester?

    Die ECMAScript-Engine deines Browsers, dieselbe, die JavaScript-Ausdrücke ausführt. PCRE, PHP, Python, Java und .NET sind andere Varianten mit anderer Syntax und anderem Verhalten, deshalb ist ein hier geprüftes Muster nur für JavaScript geprüft.

    Was passiert mit einem Muster, das nie fertig wird?

    Der Abgleich läuft in einem Hintergrund-Thread mit einem Zeitlimit von etwa einer Sekunde. Ein Muster wie (a+)+$ kann auf langer Eingabe praktisch unbegrenzt laufen; nach Ablauf des Limits wird der Thread gestoppt und der Tester meldet, dass die Ausführung gestoppt wurde. Das Muster ist teuer, nicht ungültig, und das nächste Muster läuft wieder normal.

    Warum zeigt eine Gruppe „kein Treffer“ statt eines leeren Werts?

    Eine optionale Gruppe, die am Treffer nie beteiligt war, hat überhaupt keinen Wert, und das unterscheidet sie von einer Gruppe, die einen leeren String getroffen hat. JavaScript meldet die erste als undefined und die zweite als leeren String. Der Tester hält beides auseinander, weil der Unterschied ändert, was dein Code behandeln muss.

    Bau ein besseres Web, schneller.

    Wir entwickeln individuelle Software und Lösungen, die auf Ihre Bedürfnisse zugeschnitten sind.

    Kontakt aufnehmen