Trait std::str::pattern::Pattern
[−]
[src]
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>, { ... } }
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
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.
Associated Types
type Searcher: Searcher<'a>
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
Associated searcher for this pattern
Required Methods
fn into_searcher(self, haystack: &'a str) -> Self::Searcher
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
Constructs the associated searcher from
self
and the haystack
to search in.
Provided Methods
fn is_contained_in(self, haystack: &'a str) -> bool
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
Checks whether the pattern matches anywhere in the haystack
fn is_prefix_of(self, haystack: &'a str) -> bool
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
Checks whether the pattern matches at the front of the haystack
fn is_suffix_of(self, haystack: &'a str) -> bool where
Self::Searcher: ReverseSearcher<'a>,
Self::Searcher: ReverseSearcher<'a>,
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
Checks whether the pattern matches at the back of the haystack
Implementors
impl<'a> Pattern<'a> for char type Searcher = CharSearcher<'a>;
impl<'a, 'b, 'c> Pattern<'a> for &'c &'b str type Searcher = StrSearcher<'a, 'b>;
impl<'a, 'b> Pattern<'a> for &'b [char] type Searcher = CharSliceSearcher<'a, 'b>;
impl<'a, F> Pattern<'a> for F where
F: FnMut(char) -> bool, type Searcher = CharPredicateSearcher<'a, F>;impl<'a, 'b> Pattern<'a> for &'b str type Searcher = StrSearcher<'a, 'b>;
impl<'a, 'b> Pattern<'a> for &'b String type Searcher = <&'b str as Pattern<'a>>::Searcher;