mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-17 23:30:53 +00:00
26 lines
575 B
Rust
26 lines
575 B
Rust
use onig::*;
|
|
|
|
fn scan_callback<'t>(n: i32, caps: Captures<'t>) -> bool {
|
|
println!("scan: {}", n);
|
|
println!("match at {}", caps.offset());
|
|
|
|
for (i, cap) in caps.iter_pos().enumerate() {
|
|
match cap {
|
|
Some(pos) => println!("{}: {:?}", i, pos),
|
|
None => println!("{}: did not capture", i),
|
|
}
|
|
}
|
|
|
|
true
|
|
}
|
|
|
|
fn exec(pattern: &str, to_match: &str) {
|
|
let reg = Regex::new(pattern).unwrap();
|
|
reg.scan(to_match, scan_callback);
|
|
}
|
|
|
|
fn main() {
|
|
exec("\\Ga+\\s*", "a aa aaa baaa");
|
|
exec("a+\\s*", "a aa aaa baaa");
|
|
}
|