Trait alloc::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>, { ... } fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> { ... } fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>
where
Self::Searcher: ReverseSearcher<'a>, { ... } }
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
Expand description
字符串模式。
Pattern<'a>
表示实现类型可以用作在 &'a str
中搜索的字符串模式。
例如,'a'
和 "aa"
都是在字符串 "baaaab"
中的索引 1
处匹配的模式。
trait 本身充当关联的 Searcher
类型的构建器,该类型实际执行查找字符串中模式出现的实际工作。
根据模式的类型,诸如 str::find
和 str::contains
之类的方法的行为可能会改变。
下表描述了其中一些行为。
Pattern type | Match condition |
---|---|
&str | is substring |
char | is contained in string |
&[char] | any char in slice is contained in string |
F: FnMut(char) -> bool | F returns true for a char in string |
&&str | is substring |
&String | is substring |
Examples
// &str assert_eq!("abaaa".find("ba"), Some(1)); assert_eq!("abaaa".find("bac"), None); // char assert_eq!("abaaa".find('a'), Some(0)); assert_eq!("abaaa".find('b'), Some(1)); assert_eq!("abaaa".find('c'), None); // &[char] assert_eq!("ab".find(&['b', 'a'][..]), Some(0)); assert_eq!("abaaa".find(&['a', 'z'][..]), Some(0)); assert_eq!("abaaa".find(&['c', 'd'][..]), None); // FnMut(char) -> bool assert_eq!("abcdef_z".find(|ch| ch > 'd' && ch < 'y'), Some(4)); assert_eq!("abcddd_z".find(|ch| ch > 'd' && ch < 'y'), None);Run
Associated Types
Required methods
fn into_searcher(self, haystack: &'a str) -> Self::Searcher
[src]
fn into_searcher(self, haystack: &'a str) -> Self::Searcher
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
从 self
和 haystack
构造关联的搜索器以进行搜索。
Provided methods
fn is_contained_in(self, haystack: &'a str) -> bool
[src]
fn is_contained_in(self, haystack: &'a str) -> bool
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
检查模式是否与 haystack 中的任何位置匹配
fn is_prefix_of(self, haystack: &'a str) -> bool
[src]
fn is_prefix_of(self, haystack: &'a str) -> bool
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
检查模式是否在 haystack 的前面匹配
fn is_suffix_of(self, haystack: &'a str) -> bool where
Self::Searcher: ReverseSearcher<'a>,
[src]
fn is_suffix_of(self, haystack: &'a str) -> bool where
Self::Searcher: ReverseSearcher<'a>,
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
检查模式是否与 haystack 的后面匹配
fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str>
[src]
fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str>
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
如果匹配,则从 haystack 的正面删除模式。
fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str> where
Self::Searcher: ReverseSearcher<'a>,
[src]
fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str> where
Self::Searcher: ReverseSearcher<'a>,
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
如果匹配,则从 haystack 的后面删除模式。
Implementors
type Searcher = CharSearcher<'a>
type Searcher = CharSearcher<'a>
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
pub fn is_suffix_of(self, haystack: &'a str) -> bool where
<char as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
[src]
pub fn is_suffix_of(self, haystack: &'a str) -> bool where
<char as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
pub fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str> where
<char as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
[src]
pub fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str> where
<char as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
一个方便的 impl,委派给 &str
的 impl。
Examples
assert_eq!(String::from("Hello world").find("world"), Some(6));Run
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
搜索等于切片中任何 char
的字符。
Examples
assert_eq!("Hello world".find(&['l', 'l'] as &[_]), Some(2)); assert_eq!("Hello world".find(&['l', 'l'][..]), Some(2));Run
type Searcher = CharSliceSearcher<'a, 'b>
type Searcher = CharSliceSearcher<'a, 'b>
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
pub fn is_suffix_of(self, haystack: &'a str) -> bool where
CharSliceSearcher<'a, 'b>: ReverseSearcher<'a>,
[src]
pub fn is_suffix_of(self, haystack: &'a str) -> bool where
CharSliceSearcher<'a, 'b>: ReverseSearcher<'a>,
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
pub fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str> where
CharSliceSearcher<'a, 'b>: ReverseSearcher<'a>,
[src]
pub fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str> where
CharSliceSearcher<'a, 'b>: ReverseSearcher<'a>,
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
检查模式在 haystack 的前面是否匹配。
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
如果匹配,则从 haystack 的正面删除模式。
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
检查模式是否与 haystack 的后面匹配。
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
如果匹配,则从 haystack 的后面删除模式。
type Searcher = StrSearcher<'a, 'b>
type Searcher = StrSearcher<'a, 'b>
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
委托给 &str
的 impl。
type Searcher = StrSearcher<'a, 'b>
type Searcher = StrSearcher<'a, 'b>
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
pub fn is_suffix_of(self, haystack: &'a str) -> bool where
StrSearcher<'a, 'b>: ReverseSearcher<'a>,
[src]
pub fn is_suffix_of(self, haystack: &'a str) -> bool where
StrSearcher<'a, 'b>: ReverseSearcher<'a>,
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
pub fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str> where
StrSearcher<'a, 'b>: ReverseSearcher<'a>,
[src]
pub fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str> where
StrSearcher<'a, 'b>: ReverseSearcher<'a>,
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
搜索与给定谓词匹配的 char
。
Examples
assert_eq!("Hello world".find(char::is_uppercase), Some(0)); assert_eq!("Hello world".find(|c| "aeiou".contains(c)), Some(1));Run
type Searcher = CharPredicateSearcher<'a, F>
type Searcher = CharPredicateSearcher<'a, F>
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
pub fn is_suffix_of(self, haystack: &'a str) -> bool where
CharPredicateSearcher<'a, F>: ReverseSearcher<'a>,
[src]
pub fn is_suffix_of(self, haystack: &'a str) -> bool where
CharPredicateSearcher<'a, F>: ReverseSearcher<'a>,
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized
pub fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str> where
CharPredicateSearcher<'a, F>: ReverseSearcher<'a>,
[src]
pub fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str> where
CharPredicateSearcher<'a, F>: ReverseSearcher<'a>,
[src]🔬 This is a nightly-only experimental API. (pattern
#27721)
API not fully fleshed out and ready to be stabilized