使用Boost Spirit Qi解析包含文字的字符串

时间:2014-03-08 21:57:43

标签: c++ parsing boost-spirit boost-spirit-qi

我很想解析这样的字符串:

<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_
由于气的贪婪,

不起作用。有没有一种简单的方法来编写这个解析器?

1 个答案:

答案 0 :(得分:3)

使用

*(char_ - lit("ABC")) >> lit("ABC") >> *char_;

而是阻止char_使用"ABC"