boost::spirit 字符串按分隔符排列

boost::spirit string to array by separator

我需要解析字符串“1/20/10/3/5”中的数字。 Number - 为正整数,“/”为分隔符。

我写下一个表达式:

('"' >> +(qi::uint_ ^ "/")  >> '"')

它工作正常,但解析器允许下一个字符串“1//3”。我如何更改我的表达式以使该字符串失败?

您正在使用 ^permutation parser,它匹配 "/" and/or qi::uint_.

你想要的是 list parser: %.

('"' >> qi::uint_ % "/" >> '"')