pub trait Pattern<'a> {
type Searcher: Searcher<'a>;
fn into_searcher(self, haystack: &'a str) -> Self::Searcher;
fn is_contained_in(self, haystack: &'a str) -> bool { ... }
fn is_prefix_of(self, haystack: &'a str) -> bool { ... }
fn is_suffix_of(self, haystack: &'a str) -> bool where Self::Searcher: ReverseSearcher<'a>,
{ ... }
}
A string pattern.
A Pattern<'a> expresses that the implementing type can be used as a string pattern for searching in a &'a str.
For example, both 'a' and "aa" are patterns that would match at index 1 in the string "baaaab".
The trait itself acts as a builder for an associated Searcher type, which does the actual work of finding occurrences of the pattern in a string.
type Searcher: Searcher<'a>Associated searcher for this pattern
fn into_searcher(self, haystack: &'a str) -> Self::SearcherConstructs the associated searcher from self and the haystack to search in.
fn is_contained_in(self, haystack: &'a str) -> boolChecks whether the pattern matches anywhere in the haystack
fn is_prefix_of(self, haystack: &'a str) -> boolChecks whether the pattern matches at the front of the haystack
fn is_suffix_of(self, haystack: &'a str) -> bool where
Self::Searcher: ReverseSearcher<'a>, Checks whether the pattern matches at the back of the haystack
impl<'a, 'b> Pattern<'a> for &'b String type Searcher = <&'b str as Pattern<'a>>::Searcher;
impl<'a, 'b> Pattern<'a> for &'b [char] type Searcher = CharSliceSearcher<'a, 'b>;
impl<'a, 'b> Pattern<'a> for &'b str type Searcher = StrSearcher<'a, 'b>;
impl<'a, 'b, 'c> Pattern<'a> for &'c &'b str type Searcher = StrSearcher<'a, 'b>;impl<'a, F> Pattern<'a> for F where
F: FnMut(char) -> bool, type Searcher = CharPredicateSearcher<'a, F>;impl<'a> Pattern<'a> for char type Searcher = CharSearcher<'a>;
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/str/pattern/trait.Pattern.html