Ich versuche, eine Regex-ähnliche Zeichenfolge zu analysieren, mit Format wie folgt aus:Parsing eine Regex-ähnliche Zeichenfolge
- Die einzigen Zeichen, die maskiert werden müssen:
[
,\
und-
; - Eine gültige Zeichenfolge kann eine Folge von:
- "regular characters", z.B.
a
,b
- "entkommene Sonderzeichen", z.B.
\\
,\[
- Sequenzen, die über zwei enthalten sind und von einem Paar Klammern, z.B.
[abc]
,[a\]]
- "regular characters", z.B.
Zum Beispiel abc[def]g
, abc\-\[[def\]]gh\\
sind beide gültig Saiten.
Gibt es eine Möglichkeit, die Zeichen-/Zeichenklasse (im dritten Fall oben) bei jedem Index zu bekommen? Die Verwendung von reinem regex
/sed
oder einer Python-Bibliothek funktioniert für mich.
können Holen Sie die Zeichen-/Zeichenklasse (im dritten Fall oben) bei jedem Index <- - was bedeutet das? – sweaver2112
Ich bin auch durch deine Frage verwirrt. Es scheint Methode zu sein, was du da hast ist bereits gültige Regex, also könntest du es einfach als Regex Muster verwenden und damit fertig werden, aber sicher kann es nicht so einfach sein, also bin ich mir wirklich nicht sicher was du ' re frage wirklich. –
Sorry über die Verwirrung - was ich meinte ist im Wesentlichen ich kann die einzelnen regulären Zeichen und Zeichengruppen, z. "abc [def] g" wird zu [a, b, c, [d, e, f], g]. Es ist kniffliger als reguläre Regex, weil die einzigen Zeichen, die es zu entkommen gilt, '[' '' '' '' '' sind. Wenn ich also einen String wie '\ 'habe, wäre es kein gültiger Regex, sondern ein gültiger String in dieser Grammatik. Mit mehr Gedanken denke ich, ich werde es in Python char-by-char analysieren. –