Function nom::bytes::streaming::is_a [−][src]
pub fn is_a<T, Input, Error: ParseError<Input>>(
arr: T
) -> impl Fn(Input) -> IResult<Input, Input, Error> where
Input: InputTakeAtPosition,
T: InputLength + 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
Streaming specific
Streaming version will return a Err::Incomplete(Needed::Size(1))
if the pattern wasn’t met
or if the pattern reaches the end of the input
Example
use nom::bytes::streaming::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"), Err(Err::Incomplete(Needed::Size(1)))); assert_eq!(hex(""), Err(Err::Incomplete(Needed::Size(1))));