Function many_m_n
fn many_m_n<I, E, F>(min: usize, max: usize, parser: F) -> impl Parser<I, Output = crate::lib::std::vec::Vec<<F as Parser<I>>::Output>, Error = E>
where
I: Clone + Input,
F: Parser<I, Error = E>,
E: ParseError<I>
Repeats the embedded parser m..=n times
This stops before n when the parser returns Err::Error and returns the results that were accumulated. To instead chain an error up, see
[cut][crate::combinator::cut].
Arguments
mThe minimum number of iterations.nThe maximum number of iterations.fThe parser to apply.
Note: If the parser passed to many1 accepts empty inputs
(like alpha0 or digit0), many1 will return an error,
to prevent going into an infinite loop.
# use ;
use many_m_n;
use tag;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;