Escapes trasformazione che utilizzano il Quadro Spirito Parser
-
06-09-2019 - |
Domanda
Sto cercando di analizzare una stringa simile alla seguente utilizzando un parser spirito:
<junk> -somearg#this is a string with a literal ## in it# <junk>
Quello che sto cercando è una grammatica che può estrarre la parte interna i segni #, ma è intelligente per saltare il doppio ## al centro, che è una via di fuga nel senso letterale #.
Questo era quello che avevo in mente:
confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
Tuttavia, questo ritorna:
#this is a string with a literal ##
Mi piacerebbe che per saltare sopra i personaggi ##
.... è possibile?
Billy3
Soluzione
Ho risolto questo con l'aggiunta di una stella kleene al parser confix. Grazie comunque!
*confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
funziona come previsto.