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::Searcher
Constructs the associated searcher from self
and the haystack
to search in.
fn is_contained_in(self, haystack: &'a str) -> bool
Checks whether the pattern matches anywhere in the haystack
fn is_prefix_of(self, haystack: &'a str) -> bool
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>,
Checks whether the pattern matches at the back of the haystack
impl<'a> Pattern<'a> for char
[src]
Searches for chars that are equal to a given char
type Searcher = CharSearcher<'a>
fn into_searcher(self, haystack: &'a str) -> <char as Pattern<'a>>::Searcher
[src]
fn is_contained_in(self, haystack: &'a str) -> bool
[src]
fn is_prefix_of(self, haystack: &'a str) -> bool
[src]
fn is_suffix_of(self, haystack: &'a str) -> bool where
<char as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
[src]
impl<'a, 'b> Pattern<'a> for &'b str
[src]
Non-allocating substring search.
Will handle the pattern ""
as returning empty matches at each character boundary.
type Searcher = StrSearcher<'a, 'b>
fn into_searcher(self, haystack: &'a str) -> StrSearcher<'a, 'b>
[src]
fn is_prefix_of(self, haystack: &'a str) -> bool
[src]
Checks whether the pattern matches at the front of the haystack
fn is_suffix_of(self, haystack: &'a str) -> bool
[src]
Checks whether the pattern matches at the back of the haystack
impl<'a, 'b> Pattern<'a> for &'b String
[src]
A convenience impl that delegates to the impl for &str
type Searcher = <&'b str as Pattern<'a>>::Searcher
fn into_searcher(self, haystack: &'a str) -> <&'b str as Pattern<'a>>::Searcher
[src]
fn is_contained_in(self, haystack: &'a str) -> bool
[src]
fn is_prefix_of(self, haystack: &'a str) -> bool
[src]
impl<'a, 'b> Pattern<'a> for &'b [char]
[src]
Searches for chars that are equal to any of the chars in the array
type Searcher = CharSliceSearcher<'a, 'b>
fn into_searcher(self, haystack: &'a str) -> CharSliceSearcher<'a, 'b>
[src]
fn is_contained_in(self, haystack: &'a str) -> bool
[src]
fn is_prefix_of(self, haystack: &'a str) -> bool
[src]
fn is_suffix_of(self, haystack: &'a str) -> bool where
CharSliceSearcher<'a, 'b>: ReverseSearcher<'a>,
[src]
impl<'a, 'b, 'c> Pattern<'a> for &'c &'b str
[src]
Delegates to the &str
impl.
type Searcher = StrSearcher<'a, 'b>
fn into_searcher(self, haystack: &'a str) -> StrSearcher<'a, 'b>
[src]
fn is_contained_in(self, haystack: &'a str) -> bool
[src]
fn is_prefix_of(self, haystack: &'a str) -> bool
[src]
fn is_suffix_of(self, haystack: &'a str) -> bool where
StrSearcher<'a, 'b>: ReverseSearcher<'a>,
[src]
impl<'a, F> Pattern<'a> for F where
F: FnMut(char) -> bool,
[src]
Searches for chars that match the given predicate
type Searcher = CharPredicateSearcher<'a, F>
fn into_searcher(self, haystack: &'a str) -> CharPredicateSearcher<'a, F>
[src]
fn is_contained_in(self, haystack: &'a str) -> bool
[src]
fn is_prefix_of(self, haystack: &'a str) -> bool
[src]
fn is_suffix_of(self, haystack: &'a str) -> bool where
CharPredicateSearcher<'a, F>: ReverseSearcher<'a>,
[src]
Β© 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