【发布时间】:2021-04-23 20:31:47
【问题描述】:
如何使用可能由空格分隔或不分隔的令牌列表?
我正在尝试使用nom (6.1.2) 解析cedict 格式的中文罗马拼音(拼音)。例如"ni3 hao3 ma5",由于人为抄写错误,有时写为"ni3hao3ma5" 或"ni3hao3 ma5"(注意可变间距)。
我编写了一个解析器来处理单个音节,例如["ni3", "hao3", "ma5"],我正在尝试使用 nom::multi::separated_list0 来解析它:
nom::multi::separated_list0(
nom::character::complete::space0,
syllable,
)(i)?;
但是,在消耗完所有令牌后,我会收到 Err(Error(Error { input: "", code: SeparatedList }))。
【问题讨论】: