Module plexer::pattern

source ·
Expand description

Module for Pattern matching.

A Pattern matching API which provides a generic trait for using different pattern types when searching through a &str.
For more details on implementation, see the trait Pattern.

Examples

Pattern is implemented for char, &str, slices of char and &str, Regex and closures implementing Fn(&str) -> bool.

let hay = "Can you find a needle in a haystack";

// char pattern
assert!('n'.find_one_in(hay).is_some_and(|m| m.start == 2));
// &str pattern
assert!("you".find_one_in(hay).is_some_and(|m| m.start == 4));
// array of chars pattern
assert!(['a', 'e', 'i', 'o', 'u'].find_one_in(hay).is_some_and(|m| m.start == 1));
// array of &str pattern
assert!(["Can", "you"].find_one_in(hay).is_some_and(|m| m.start == 0));
// closure pattern
assert!((|s: &str| s.starts_with("f")).find_one_in(hay).is_some_and(|m| m.start == 8));

Structs

Traits