pub fn is_a<T, Input, Error: ParseError<Input>>(
arr: T
) -> impl Fn(Input) -> IResult<Input, <Input as IntoOutput>::Output, Error>where
Input: InputTakeAtPosition + IntoOutput,
T: FindToken<<Input as InputTakeAtPosition>::Item>,
👎Deprecated since 8.0.0: Replaced with
nom8::bytes::take_while1
with input wrapped in nom8::input::Streaming
Expand description
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::new(1))
if the pattern wasn’t met
or if the pattern reaches the end of the input.
Example
use nom8::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::new(1))));
assert_eq!(hex(""), Err(Err::Incomplete(Needed::new(1))));
WARNING: Deprecated, replaced with nom8::bytes::take_while1
with input wrapped in nom8::input::Streaming