Question

Je suis en train d'analyser une chaîne similaire à ce qui suit à l'aide d'un analyseur d'esprit:

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

Ce que je suis à la recherche est une grammaire qui permet d'extraire la partie intérieure des marques #, mais il est intelligent pour sauter par-dessus la double ## au milieu, ce qui est une évasion qui signifie un littéral #.

C'était ce que j'avais à l'esprit:
confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
Toutefois, ce retour:
#this is a string with a literal ##
Je voudrais pour outrepasser les caractères ## .... est-ce possible?

Billy3

Était-ce utile?

La solution

Je résolu ce problème en ajoutant une étoile kleene à l'analyseur de CONFIX. Merci quand même!

*confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#')) fonctionne comme prévu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top