Was dieser Regex-Visualisierer tut
Regelmäßige Ausdrücke sind für die meisten Menschen nur zu schreiben: leicht zu tippen, schwer eine Woche später zu lesen. Dieses Tool analysiert Ihr Muster in einem Syntaxbaum und zeigt es auf drei Arten. Ein Eisenbahndiagramm zeichnet das Muster als eine Spur, die man von links nach rechts folgen kann, mit Zweigen für Abwechslung, Schleifen für Wiederholung und gekennzeichneten Kästchen für Gruppen. Eine ** einfache Sprache Erklärung ** geht durch jedes Token ("eine oder mehrere Ziffern", "benannt Gruppe Jahr", "nicht gefolgt von"). Und code-Snippets zeigen, wie man das genaue Muster mit der richtigen Flucht in JavaScript, Python, Go, Java, C#, PHP und Rust verwendet. Eine Live-Test-String markiert Übereinstimmungen, während Sie tippen.
So verwenden Sie es
- Ein Muster eingeben oder einfügen. Sie können Schrägstellen und Flaggen wie
/^\d{4}-\d{2}$/gmeinfügen oder die Flaggen separat eingeben. - Folgen Sie dem Eisenbahndiagramm, um die Gesamtform des Musters zu sehen.
- Lesen Sie die Erläuterungsliste für eine Token-für-Token-Beschreibung.
- Geben Sie eine Testzeile ein, um zu sehen, was passt und welche Gruppen was erfassen.
- Kopieren Sie einen fertigen Ausschnitt in Ihrer Sprache.
Das Eisenbahndiagramm lesen
- Abgerundete Kästchen sind wörtlicher Text; Quadratkästchen sind Zeichenklassen wie digit oder eine von az.
- Ein Weg, der sich in parallele Schienen aufspaltet, ist eine Abwechslung (
a|b). - Eine Schiene, die sich unter eine Box zurückschleppt, bedeutet "wiederholen"; eine Schiene, die die Box umgeht, bedeutet "optional".
- Die gestrichelten Bilder sind Gruppen; die Aufnahmegruppen sind nummeriert und die benannten Gruppen zeigen ihren Namen.
- Lookarounds werden als gekennzeichnete Frames gezeichnet, weil sie Text überprüfen, ohne ihn zu konsumieren.
Tipps
- Für Geschwindigkeit und Klarheit bevorzuge ich
\dund Zeichenklassen gegenüber langen Abwechslungen. - Bei den faulen Quantifikatoren (
*?,+?) wird in der Erläuterung "so wenig wie möglich" angegeben. - Wenn Sie Muster portieren, denken Sie daran, dass Go's RE2-Engine keine Lookarounds oder Rückverweise unterstützt; das Go-Snippet warnt Sie, wenn Ihr Muster sie verwendet.
- Escape Backslashes in normalen String-Literalen oder verwenden Sie Rohstrings (
r"..."in Python, Backticks in Go) wie die Snippets.