Füge einen regulären Ausdruck im JavaScript/PCRE-Stil ein und erhält ein Eisenbahndiagramm (Syntaxbaum), das die Struktur offensichtlich macht — viel leichter lesbar als eine Wand von Metazeichen.
Funktionsweise:
- Das Pattern wird mit der Bibliothek
ret in einen AST zerlegt.
- Jeder AST-Knoten wird auf eine Eisenbahndiagramm-Primitive abgebildet: Literale werden abgerundete Boxen, Gruppen werden mit ihrem Capture-Index (und Name) beschriftet, Alternativen verzweigen in eine Auswahl, und Quantoren (*, +, ?, {n,m}) werden als Rückführungspfeile gerendert.
- Das Diagramm wird als in sich geschlossenes SVG via
railroad-diagrams gerendert.
Der Bericht listet zudem:
- Jede Capture-Gruppe mit Nummer und Name (falls vorhanden).
- Jedes Flag mit einer Erklärung in Klartext (g, i, m, s, u, y, d, x).
Lies das Diagramm von links nach rechts. Besonders nützlich zum Lehren von Regex, zum Dokumentieren komplexer Patterns und zum Erkennen katastrophaler Rückverfolgung (verschachtelte Quantoren) vor dem Produktivbetrieb.
Einschränkungen: Der Parser deckt JavaScript/PCRE-Syntax einschließlich Zeichenklassen, Anker, Rückreferenzen, benannten Gruppen, Lookaround (gemeldet) und beschränkte/unbeschränkte Quantoren ab. Einige erweiterte PCRE-Funktionen (rekursive Patterns, \K, Branch-Reset, Conditional) werden nicht unterstützt und geben einen Parse-Fehler.