[][src]Function sexpy::opt

pub fn opt<I, O, E, F>(f: F) -> impl Fn(I) where
    E: ParseError<I>,
    F: Fn(I) -> Result<(I, O), Err<E>>,
    I: Clone

optional parser: will return None if not successful

use nom::combinator::opt;
use nom::character::complete::alpha1;

fn parser(i: &str) -> IResult<&str, Option<&str>> {
  opt(alpha1)(i)
}

assert_eq!(parser("abcd;"), Ok((";", Some("abcd"))));
assert_eq!(parser("123;"), Ok(("123;", None)));