本文简要介绍rust语言中 str.rmatch_indices
的用法。
用法
pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
self
中模式的不相交匹配的迭代器,与匹配的索引一起以相反的顺序产生。
对于self
内重叠的pat
匹配,仅返回与最后一个匹配对应的索引。
pattern 可以是 &str
、 char
、 char
的切片,或者确定字符是否匹配的函数或闭包。
迭代器行为
返回的迭代器要求模式支持反向搜索,如果正向/反向搜索产生相同的元素,它将是 DoubleEndedIterator
。
对于从前面迭代,可以使用 match_indices
方法。
例子
基本用法:
let v: Vec<_> = "abcXXXabcYYYabc".rmatch_indices("abc").collect();
assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
let v: Vec<_> = "1abcabc2".rmatch_indices("abc").collect();
assert_eq!(v, [(4, "abc"), (1, "abc")]);
let v: Vec<_> = "ababa".rmatch_indices("aba").collect();
assert_eq!(v, [(2, "aba")]); // only the last `aba`
相关用法
- Rust str.rmatches用法及代码示例
- Rust str.rsplit_terminator用法及代码示例
- Rust str.rsplit_once用法及代码示例
- Rust str.rsplit用法及代码示例
- Rust str.rfind用法及代码示例
- Rust str.repeat用法及代码示例
- Rust str.replacen用法及代码示例
- Rust str.rsplitn用法及代码示例
- Rust str.replace用法及代码示例
- Rust str.make_ascii_uppercase用法及代码示例
- Rust str.strip_suffix用法及代码示例
- Rust str.trim_left用法及代码示例
- Rust str.char_indices用法及代码示例
- Rust str.to_ascii_lowercase用法及代码示例
- Rust str.trim用法及代码示例
- Rust str.split_terminator用法及代码示例
- Rust str.to_uppercase用法及代码示例
- Rust str.starts_with用法及代码示例
- Rust str.escape_default用法及代码示例
- Rust str.trim_right用法及代码示例
- Rust str.split_once用法及代码示例
- Rust str.len用法及代码示例
- Rust str.chars用法及代码示例
- Rust str.trim_left_matches用法及代码示例
- Rust str.eq_ignore_ascii_case用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 str.rmatch_indices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。