请让我知道如何使用 Rust 的板条箱正则表达式获取匹配组的位置。
我发现了如何将正则表达式与文本进行匹配,如下所示。
extern crate regex;
use regex::Regex;
fn main() {
let str = "ABC 01 D2E";
let re = Regex::new(r"(\s)(\d+)(\s)").unwrap();
let caps = re.captures(str).unwrap();
println!("{}", caps.get(2).unwrap().as_str()); // I expect "01" on stdout.
}
Run Code Online (Sandbox Code Playgroud)
不过,我仍然不知道(如何获取)“01”在文本上的位置。即,“ABC 01 D2E”上的索引“0”。
Captures::get返回一个Option<Match>>,因此您可以使用它Match::start来获取起始索引:
println!("{}", caps.get(2).unwrap().start());
// prints 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2510 次 |
| 最近记录: |