Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用Boost-Spirit-Qi解析包含文本的字符串_C++_Parsing_Boost Spirit_Boost Spirit Qi - Fatal编程技术网

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_;