Function nom8::bytes::streaming::tag_no_case

source ·
pub fn tag_no_case<T, Input, Error: ParseError<Input>>(
    tag: T
) -> impl Fn(Input) -> IResult<Input, <Input as IntoOutput>::Output, Error>where
    Input: InputTake + InputLength + Compare<T> + IntoOutput,
    T: InputLength + Clone,
👎Deprecated since 8.0.0: Replaced with nom8::bytes::tag_no_case with input wrapped in nom8::input::Streaming
Expand description

Recognizes a case insensitive pattern.

The input data will be compared to the tag combinator’s argument and will return the part of the input that matches the argument with no regard to case.

Example

use nom8::bytes::streaming::tag_no_case;

fn parser(s: &str) -> IResult<&str, &str> {
  tag_no_case("hello")(s)
}

assert_eq!(parser("Hello, World!"), Ok((", World!", "Hello")));
assert_eq!(parser("hello, World!"), Ok((", World!", "hello")));
assert_eq!(parser("HeLlO, World!"), Ok((", World!", "HeLlO")));
assert_eq!(parser("Something"), Err(Err::Error(Error::new("Something", ErrorKind::Tag))));
assert_eq!(parser(""), Err(Err::Incomplete(Needed::new(5))));

WARNING: Deprecated, replaced with nom8::bytes::tag_no_case with input wrapped in nom8::input::Streaming