Function delimited
pub fn delimited<I, O1, O2, O3, E, F, G, H>(
first: F,
second: G,
third: H,
) -> impl FnMut(I)Available on (crate features
rustls or boring or acme) and crate feature rustls only.Expand description
Matches an object from the first parser and discards it, then gets an object from the second parser, and finally matches an object from the third parser and discards it.
ยงArguments
firstThe first parser to apply and discard.secondThe second parser to apply.thirdThe third parser to apply and discard.
use nom::sequence::delimited;
use nom::bytes::complete::tag;
let mut parser = delimited(tag("("), tag("abc"), tag(")"));
assert_eq!(parser("(abc)"), Ok(("", "abc")));
assert_eq!(parser("(abc)def"), Ok(("def", "abc")));
assert_eq!(parser(""), Err(Err::Error(("", ErrorKind::Tag))));
assert_eq!(parser("123"), Err(Err::Error(("123", ErrorKind::Tag))));