/// Parses the `has any` operator in the two flavors we support: all characters uppercase or all
/// of them lowercase.
Parses the `has any` operator in the two flavors we support: all characters uppercase or all
of them lowercase.
Parses the ` has any ` operator in the two flavors we support : all characters uppercase or all of them lowercase .
fn has_any(input: &str) -> IResult<&str, (&str, &str)> {
    let (rest, (has, _, any)) = alt((
        tuple((tag("has"), whitespace1, tag("any"))),
        tuple((tag("HAS"), whitespace1, tag("ANY"))),
    ))(input)?;
    Ok((rest, (has, any)))
}
fn has_any ( input : & str ) -> IResult < & str , ( & str , & str ) > { let ( rest , ( has , _ , any ) ) = alt ( ( tuple ( ( tag ( " " ) , whitespace1 , tag ( " " ) ) ) , tuple ( ( tag ( " " ) , whitespace1 , tag ( " " ) ) ) , ) ) ( input ) ? ; Ok ( ( rest , ( has , any ) ) ) }
Parses the `has any` operator in the two flavors we support: all characters uppercase or all
of them lowercase.
Parses the ` has any ` operator in the two flavors we support : all characters uppercase or all of them lowercase .
input
&str