[][src]Function nom::bytes::complete::is_a

pub fn is_a<T, Input, Error: ParseError<Input>>(
    arr: T
) -> impl Fn(Input) -> IResult<Input, Input, Error> where
    Input: InputTakeAtPosition,
    T: FindToken<<Input as InputTakeAtPosition>::Item>, 

Returns the longest slice of the matches the pattern.

The parser will return the longest slice consisting of the characters in provided in the combinator's argument.

It will return a Err(Err::Error((_, ErrorKind::IsA))) if the pattern wasn't met.

Example

use nom::bytes::complete::is_a;

fn hex(s: &str) -> IResult<&str, &str> {
  is_a("1234567890ABCDEF")(s)
}

assert_eq!(hex("123 and voila"), Ok((" and voila", "123")));
assert_eq!(hex("DEADBEEF and others"), Ok((" and others", "DEADBEEF")));
assert_eq!(hex("BADBABEsomething"), Ok(("something", "BADBABE")));
assert_eq!(hex("D15EA5E"), Ok(("", "D15EA5E")));
assert_eq!(hex(""), Err(Err::Error(Error::new("", ErrorKind::IsA))));