pair

Function pair 

pub fn pair<I, O1, O2, E, F, G>(first: F, second: G) -> impl FnMut(I)
where E: ParseError<I>, F: Parser<I, O1, E>, G: Parser<I, O2, E>,
Available on (crate features rustls or boring or acme) and crate feature rustls only.
Expand description

Gets an object from the first parser, then gets another object from the second parser.

ยงArguments

  • first The first parser to apply.
  • second The second parser to apply.
use nom::sequence::pair;
use nom::bytes::complete::tag;

let mut parser = pair(tag("abc"), tag("efg"));

assert_eq!(parser("abcefg"), Ok(("", ("abc", "efg"))));
assert_eq!(parser("abcefghij"), Ok(("hij", ("abc", "efg"))));
assert_eq!(parser(""), Err(Err::Error(("", ErrorKind::Tag))));
assert_eq!(parser("123"), Err(Err::Error(("123", ErrorKind::Tag))));