pub fn is_not<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_till1
with input wrapped in nom8::input::Streaming
Expand description
Parse till certain characters are met.
The parser will return the longest slice till one of the characters of the combinator’s argument are met.
It doesn’t consume the matched character.
It will return a Err::Incomplete(Needed::new(1))
if the pattern wasn’t met.
Example
use nom8::bytes::streaming::is_not;
fn not_space(s: &str) -> IResult<&str, &str> {
is_not(" \t\r\n")(s)
}
assert_eq!(not_space("Hello, World!"), Ok((" World!", "Hello,")));
assert_eq!(not_space("Sometimes\t"), Ok(("\t", "Sometimes")));
assert_eq!(not_space("Nospace"), Err(Err::Incomplete(Needed::new(1))));
assert_eq!(not_space(""), Err(Err::Incomplete(Needed::new(1))));
WARNING: Deprecated, replaced with nom8::bytes::take_till1
with input wrapped in nom8::input::Streaming