Frage

Ich versuche, eine Zeichenfolge ähnlich der folgenden mit einem Geist-Parser zu analysieren:

<junk> -somearg#this is a string with a literal ## in it# <junk>

Was ich suche ist eine Grammatik, die den Teil innerhalb der # Markierungen extrahieren kann, ist aber klug über die Doppel ## in der Mitte zu überspringen, die eine Flucht ist eine wörtliche # Bedeutung.

Das war, was ich im Sinn hatte:
confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
Doch diese gibt:
#this is a string with a literal ##
Ich möchte es über die ## Zeichen überspringen .... ist das möglich?

billy3

War es hilfreich?

Lösung

Ich löste dies durch einen kleene Stern auf den Confix Parser hinzugefügt wird. Trotzdem danke!

*confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#')) wie erwartet funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top