我很想解析这样的字符串:
<stuff I don't care> <literal value> <more stuff I don't care>
boost::spirit::qi
。我们假设<literal value>
是例如ABC
,然后我希望解析器接受:
Some text ABC more text
但拒绝:
Some text ACB more text
不幸的是,
*char_ >> lit("ABC") >> *char_
由于气的贪婪,不起作用。有没有一种简单的方法来编写这个解析器?
答案 0 :(得分:3)
使用
*(char_ - lit("ABC")) >> lit("ABC") >> *char_;
而是阻止char_
使用"ABC"
。