【问题标题】:boost::spirit string to array by separatorboost::spirit 字符串到数组的分隔符
【发布时间】:2023-03-30 07:57:01
【问题描述】:

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

我写下一个表达式:

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

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

【问题讨论】:

    标签: c++ boost c++14 boost-spirit boost-spirit-qi


    【解决方案1】:

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

    你想要的是list parser:%

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

    【讨论】:

    • 哦...是的,谢谢,我把这些解析器类型弄混了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    相关资源
    最近更新 更多