pub fn zero_one<'a, C, U>(unit: U) -> NeureZeroOne<C, U, C::Item, NullCond>where
C: Context<'a>,
U: Neu<C::Item>,Expand description
Match zero or one item.
Example
let sign = re::zero_one('+');
let num = re::one_more('0'..='9');
let mut ctx = CharsCtx::new("+2077");
assert_eq!(ctx.try_mat(&sign)?, Span::new(0, 1));
assert_eq!(ctx.try_mat(&num)?, Span::new(1, 4));
let mut ctx = CharsCtx::new("2077");
assert_eq!(ctx.try_mat(&sign)?, Span::new(0, 0));
assert_eq!(ctx.try_mat(&num)?, Span::new(0, 4));
Ok(())