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

问题描述

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

我写下一个表达式:

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

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

解决方法

您正在使用 ^,即 permutation parser,它匹配 "/" 和/或 qi::uint_

您想要的是 list parser%

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...