std::str::pattern - Rust (original) (raw)

🔬This is a nightly-only experimental API. (pattern #27721)

Expand description

The string Pattern API.

The Pattern API provides a generic mechanism for using different pattern types when searching through a string.

For more details, see the traits Pattern, Searcher,ReverseSearcher, and DoubleEndedSearcher.

Although this API is unstable, it is exposed via stable APIs on thestr type.

§Examples

Pattern is implemented in the stable API for&str, char, slices of char, and functions and closures implementing FnMut(char) -> bool.

let s = "Can you find a needle in a haystack?";

// &str pattern
assert_eq!(s.find("you"), Some(4));
// char pattern
assert_eq!(s.find('n'), Some(2));
// array of chars pattern
assert_eq!(s.find(&['a', 'e', 'i', 'o', 'u']), Some(1));
// slice of chars pattern
assert_eq!(s.find(&['a', 'e', 'i', 'o', 'u'][..]), Some(1));
// closure pattern
assert_eq!(s.find(|c: char| c.is_ascii_punctuation()), Some(35));

CharArrayRefSearcherExperimental

Associated type for <&[char; N] as Pattern>::Searcher<'a>.

CharArraySearcherExperimental

Associated type for <[char; N] as Pattern>::Searcher<'a>.

CharPredicateSearcherExperimental

Associated type for <F as Pattern>::Searcher<'a>.

CharSearcherExperimental

Associated type for <char as Pattern>::Searcher<'a>.

CharSliceSearcherExperimental

Associated type for <&[char] as Pattern>::Searcher<'a>.

StrSearcherExperimental

Associated type for <&str as Pattern>::Searcher<'a>.

SearchStepExperimental

Result of calling Searcher::next() or ReverseSearcher::next_back().

Utf8PatternExperimental

Result of calling Pattern::as_utf8_pattern(). Can be used for inspecting the contents of a Pattern in cases where the underlying representation can be represented as UTF-8.

DoubleEndedSearcherExperimental

A marker trait to express that a ReverseSearchercan be used for a DoubleEndedIterator implementation.

PatternExperimental

A string pattern.

ReverseSearcherExperimental

A reverse searcher for a string pattern.

SearcherExperimental

A searcher for a string pattern.