nom::sequence

Function tuple

Source
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
    l: List,
) -> impl FnMut(I) -> IResult<I, O, E>
Expand description

Applies a tuple of parsers one by one and returns their results as a tuple. There is a maximum of 21 parsers

use nom::sequence::tuple;
use nom::character::complete::{alpha1, digit1};
let mut parser = tuple((alpha1, digit1, alpha1));

assert_eq!(parser("abc123def"), Ok(("", ("abc", "123", "def"))));
assert_eq!(parser("123def"), Err(Err::Error(("123def", ErrorKind::Alpha))));