C++ 用Boost-Spirit-Qi解析包含文本的字符串
我想解析如下字符串:C++ 用Boost-Spirit-Qi解析包含文本的字符串,c++,parsing,boost-spirit,boost-spirit-qi,C++,Parsing,Boost Spirit,Boost Spirit Qi,我想解析如下字符串: <stuff I don't care> <literal value> <more stuff I don't care> 但拒绝: Some text ACB more text 不幸的是 *char_ >> lit("ABC") >> *char_ 由于戚的贪婪而无法工作。有没有一种简单的方法来编写这个解析器?使用 *(char_ - lit("ABC")) >> lit("ABC") &g
<stuff I don't care> <literal value> <more stuff I don't care>
但拒绝:
Some text ACB more text
不幸的是
*char_ >> lit("ABC") >> *char_
由于戚的贪婪而无法工作。有没有一种简单的方法来编写这个解析器?使用
*(char_ - lit("ABC")) >> lit("ABC") >> *char_;
相反,为了防止
char\u
消费“ABC”
不会*(char\ulight(“ABC”)>>lit(“ABC”)>>*char\u
工作吗?谢谢。我认为负号运算符的右侧解析器必须解析左侧解析器的一个子集。我只是不确定,因为我和Boost.Spirit合作已经有一段时间了(特别是在它被命名为“气”之前)。
*(char_ - lit("ABC")) >> lit("ABC") >> *char_;