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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top