我是新手。我用tab('\ t')分隔了字符串。 我如何用boost :: spirit解析它?
答案 0 :(得分:0)
boost示例代码与实际的boost示例不同,后者以逗号分隔,所以可能有你的修改?
ascii :: space解析器将作为分隔符为您处理选项卡,如下所示:
start %=
lit("employee")
>> '{'
>> int_ >>
>> quoted_string >>
>> quoted_string >>
>> double_
>> '}'
;
应该有效(减去'lit('\t')
')。但是,这也会解析其他间距字符(例如空格,制表符)。
如果您确实需要明确地只在术语之间使用单个选项卡,请留在lit('\t')
并将其包装在lexeme[]
中以禁用跳过解析器跳过。