Regex-Portabilität prüfen

Füge einen regulären Ausdruck ohne Begrenzer oder im JavaScript-Format `/pattern/flags` ein, um Konstrukte zu erkennen, die in Python `re` oder PCRE anders scheitern oder sich still anders verhalten können.

Die Verarbeitung erfolgt lokal in Ihrem Browser. Ihre Datei wird niemals hochgeladen.

Anleitung Tool

  1. Füge ein Muster mit oder ohne `/.../flags` ein; es bleibt im Browser.
  2. Starte die Analyse.
  3. Prüfe Konstrukte, die Syntaxfehler, stille Verhaltensunterschiede oder einseitige Kompatibilität verursachen.
  4. Manche Konstrukte haben keine mechanische Entsprechung und werden erläutert, nicht geraten.

Annahmen

Quellen und Referenzdaten

Methodik

Der Mustertext wird auf acht bekannte Konstrukte geprüft: Python-exklusive Namensgruppen und Rückverweise, possessive Quantifizierer, atomare Gruppen, `\A`/`\Z`/`\z`, rekursive PCRE-Muster, Inline-Flags mitten im Muster sowie ASCII- gegenüber Unicode-Standardverhalten von `\d`/`\w`/`\s`.

Rechenbeispiel

Anker `\A` und `\Z`

Eingaben: /\Afoo.*bar\Z/

Ergebnis: JavaScript hat diese Anker nicht und kann die Buchstaben A/Z stillschweigend als Literale behandeln. Das Muster kompiliert, trifft aber etwas anderes.

Python-benannte Gruppe

Eingaben: (?P<year>\d{4})

Ergebnis: Syntaxfehler in JavaScript. JavaScript verwendet `(?<year>...)`; das Entfernen von P wird vorgeschlagen.

Possessiver Quantifizierer und atomare Gruppe

Eingaben: (?>a++)b

Ergebnis: PCRE-/Java-Konstrukte ohne entsprechende JavaScript-Syntax. Es gibt keine sichere Text-Ersetzung, die Semantik erfordert eine strukturelle Änderung.

Praktische Hinweise
Häufige Fehler

Häufige Fragen

Warum sind `\A` und `\Z` riskanter als ein Syntaxfehler?

Possessive und atomare Konstrukte scheitern beim Kompilieren sichtbar. `\A` und `\Z` können kompilieren und still Buchstaben statt Anker treffen.

Kann das Werkzeug possessive Quantifizierer automatisch korrigieren?

Nein. Die Emulation erfordert strukturelle Änderungen und muss vom Musterautor entschieden werden.

Zuletzt geprüft:

Enger Scanner mit acht dokumentierten Konstrukten, kein RegEx-Parser oder -Motor. Es werden keine Muster auf Testdaten ausgeführt.

Design- und Tool-Einstellungen sowie gespeicherte und zuletzt verwendete Listen werden nur in diesem Browser gespeichert.