2

我正在尝试使用精神解析器解析类似于以下内容的字符串:

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

我正在寻找的是一种可以提取 # 标记内的部分的语法,但是很聪明地跳过了中间的双 ##,这是一个转义,意思是文字 #。

这就是我的想法:
confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
但是这会返回:
#this is a string with a literal ##
我希望它跳过##字符....这可能吗?

比利3

4

1 回答 1

2

我通过在 confix 解析器中添加一个 kleene 星来解决这个问题。不管怎么说,还是要谢谢你!

*confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))按预期工作。

于 2009-05-31T01:14:17.743 回答