我正在尝试使用 spirit 解析器解析类似于以下内容的字符串:
<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
最佳答案
我通过向 confix 解析器添加 kleene star 解决了这个问题。无论如何谢谢!
*confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
按预期工作。
关于c++ - 使用 Spirit Parser Framework 处理转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/930334/