Verarbeitung Escapes den Geist Parser Framework
-
06-09-2019 - |
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
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.