使用 nom 很容易解析一个字符串,直到找到一个字符。如何使用 nom 吞噬字符串直到分隔符或结尾?处理这个。
如何对字符串(多个字符)而不是单个分隔符执行相同操作?
例如,要解析abchello
,我想解析所有内容,直到hello
找到为止。
使用 nom 很容易解析一个字符串,直到找到一个字符。如何使用 nom 吞噬字符串直到分隔符或结尾?处理这个。
如何对字符串(多个字符)而不是单个分隔符执行相同操作?
例如,要解析abchello
,我想解析所有内容,直到hello
找到为止。
此代码返回正确的结果。
use nom::{IResult, bytes::complete::is_not};
fn parser(s: &str) -> IResult<&str, &str> {
is_not("hello")(s)
}
fn main() {
let result = parser("abchello");
println!("{:?}", result);
}
文档在这里。
cargo run
-> Ok(("hello", "abc"))