# Function nom::bytes::complete::tag_no_case

source · [−]

    pub fn tag_no_case<T, Input, Error: ParseError<Input>>(
        tag: T
    ) -> impl Fn(Input) -> IResult<Input, Input, Error> where
        Input: InputTake + Compare<T>,
        T: InputLength + Clone,

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.

It will return `Err(Err::Error((_, ErrorKind::Tag)))` if the input doesn’t match the pattern.

## Example

    use nom::bytes::complete::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::Error(Error::new("", ErrorKind::Tag))));