我正在尝试使用精神解析器解析类似于以下内容的字符串:
<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 ##
我希望它跳过##
个字符......这可能吗?
Billy3
答案 0 :(得分:2)
我通过在confix解析器中添加kleene星来解决这个问题。不管怎样,谢谢!
*confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
按预期工作。