问题描述
我需要解析字符串“1/20/10/3/5”中的数字。 Number - 是正整数,“/”是分隔符。
我写下一个表达式:
('"' >> +(qi::uint_ ^ "/") >> '"')
它工作正常,但解析器允许下一个字符串“1//3”。如何更改我的表达式以使该字符串失败?
解决方法
您正在使用 ^
,即 permutation parser,它匹配 "/"
和/或 qi::uint_
。
您想要的是 list parser:%
。
('"' >> qi::uint_ % "/" >> '"')