Regex & Mustervergleich

Python Regex testendas tatsächliche re-Ergebnis sehen

Muster und Text eingeben, dann Suche, vollständigen Treffer oder Ersetzung mit CPython re ausdrücklich starten.

Python Regex testen

Muster

Testtext

Ergebnis

Bereit für Eingabe oder manuellen Test.

Muster und Testtext bleiben in diesem Browser. Python-Dateien werden erst beim ersten Lauf geladen.

Optionen

i, m, s, x und a jeweils nur einmal; kein JavaScript-g-Flag.
  • i — Groß-/Kleinschreibung ignorieren
  • m — ^ und $ an Zeilengrenzen
  • s — Punkt erfasst Zeilenumbruch
  • x — Leerraum und Kommentare im Muster
  • a — ASCII-Zeichenklassen

Python-Umgebung: wird beim ersten Test geladen

Grenzen: Muster 2.000, Text 100.000, Ersatz 10.000 UTF-16-Einheiten; 10.000 Treffer, 1 Mio. Ausgabe und 4 Mio. Berichtseinheiten. Nach 2 Sekunden wird der Lauf beendet.

Bereit für Eingabe oder manuellen Test.

Ein Ausdruck kann in einem JavaScript-Tester funktionieren und in Python scheitern. Mit Python Regex testen Sie direkt gegen CPython re. Benannte Gruppen und Rückverweise folgen damit der Syntax Ihres Python-Codes.

Wer reguläre Ausdrücke testen will, sollte finditer, search und fullmatch unterscheiden. Dieser Regex-Tester zeigt Fanggruppen samt Unicode-Positionen; die Ersetzung verwendet \g<name> statt des JavaScript-Tokens $1.

Warum hier Python Regex testen?

Treffer und Fanggruppen getrennt prüfen

Beim Python Regex testen erscheinen der gesamte Treffer sowie nummerierte und benannte Fanggruppen nebeneinander. Eine nicht beteiligte Gruppe bleibt null mit (-1, -1); eine tatsächlich erfasste leere Zeichenfolge bleibt leer.

Ein blauer Gesamttreffer enthält zwei farbige Fangbereiche, die mit eigenen Ergebniskarten verbunden sind.

Ersetzung sehen, ohne die Vorlage zu ändern

Mit \g<last> und \g<first> ordnet re.subn erfasste Felder neu. Die Vorschau steht getrennt vom Eingabetext. Eine Ersetzungszahl von 0 bedeutet alle Treffer.

Zwei farbige Segmente wechseln rechts in der Vorschau ihre Reihenfolge; der Originalstreifen bleibt links erhalten.

Die entscheidenden re-Unterschiede prüfen

01

Suchumfang festlegen

finditer liefert alle nicht überlappenden Treffer; search sucht den ersten, fullmatch verlangt den gesamten Text. Ein JavaScript-g-Flag gibt es hier nicht.

02

Flags vor dem Start wählen

i, m, s, x und a gehören zu Python re. m beeinflusst ^ und $ an Zeilengrenzen, s lässt den Punkt auch Zeilenumbrüche erfassen. Python lädt erst beim ersten manuellen Test.

03

Positionen vor dem Export lesen

Spannen beginnen bei 0, enden exklusiv und zählen Unicode-Codepunkte. In A😀B beginnt B bei Python-Position 2. Strg/Cmd + Enter startet erneut; Änderungen sperren alte Exporte.

Was der Ergebnisbericht enthält

Echte CPython-Ausführung

Python Regex testen heißt hier: Pyodide führt CPython re in einem Worker aus und zeigt die wirkliche Python-Version an. JavaScript-RegExp wird nicht umetikettiert.

Gruppen mit genauen Spannen

Gruppe 0, Nummern, Namen, Werte und Spannen werden aufgeführt. Bei Emoji wird der Python-Codepunktindex für die Browser-Hervorhebung in UTF-16 umgerechnet.

Python-Vorlagen für Ersetzungen

re.subn wertet \1 und \g<name> aus. Eine leere Vorlage entfernt Treffer; $1 bleibt wörtlicher Text. Die Eingabe wird dabei nicht überschrieben.

Vollständiger Export

Erst ein abgeschlossener Lauf erlaubt JSON-Kopie oder Download mit Muster, Flags, Operation, Python-Version und allen Treffern. Ersetzungen lassen sich zusätzlich als Text speichern.

Grenzen dieses Python-re-Laufs

Nur ein Regex-Dialekt
Python Regex testen nutzt CPython re für Unicode-Text. PCRE2, JavaScript und das zusätzliche Python-Paket regex werden nicht ausgeführt; deren Muster können anders reagieren.
Keine automatische Ausführung
Aufwendige Muster starten nur per Klick oder Tastenkürzel. Nach dem Laden von Python endet die Ausführung nach zwei Sekunden durch Beenden des Workers, nicht mit einem falschen Nulltreffer.
Keine JavaScript-Flags
i, m, s, x und a sind jeweils einmal erlaubt. g, u und y gehören nicht zu diesen Python-String-Flags; finditer übernimmt die Suche nach allen Treffern.
Feste Eingabegrenzen
Muster 2.000, Text 100.000 und Ersatzvorlage 10.000 UTF-16-Einheiten. Über 10.000 Treffer oder übergroße Ausgabe und Berichte führen zum vollständigen Abbruch.
Kein frei ausführbarer Code
Nur festgelegte re-Operationen laufen. Python-Skripte, Dateiimporte, URL-Abrufe und teilbare Links mit Ihrem Testtext gehören nicht dazu.
Vorschau statt Überschreiben
re.subn erzeugt eine separate Ausgabe. Beispiel und Leeren ändern Eingaben erst nach einer Vorschau; die Änderung lässt sich einmal rückgängig machen.

Fragen zum Python Regex testen

Warum läuft ein Muster bei regex101, aber nicht in Python?

Prüfen Sie dort den ausgewählten Dialekt: PCRE2 kann voreingestellt sein. Hier läuft CPython re; benannte Gruppen schreibt Python etwa als (?P<name>...).

Kann ich eine Python-re.sub-Ersetzung prüfen?

Ja. Ersetzung wählen, Vorlage eingeben und starten. \g<name> und \1 folgen Python-Regeln, $1 bleibt wörtlich. Das Original bleibt unverändert.

Kann ich Python-Treffer und Gruppen online visualisieren?

Ja. Treffer werden markiert und Gruppenwerte samt Positionen angezeigt. Ein Nullbreitentreffer bekommt eine sichtbare Positionsmarke.

Wann ist .*? sicherer als .*?

Die faule Variante versucht zuerst kürzere, die gierige zuerst längere Bereiche. Keine garantiert kurze Laufzeit; testen Sie Grenzfälle mit echten Texten.

Was unterscheidet (...) von (?:...)?

Beide klammern einen Ausdruck. Nur (...) erzeugt eine nummerierte Fanggruppe für Bericht und Rückverweis; (?:...) belegt keine Gruppennummer.

Noch eine Frage?

Jetzt eine schwierige Python Regex testen

Vergleichen Sie einen erwarteten Treffer mit einem Gegenbeispiel und prüfen Sie die Fanggruppen vor dem Export.