Skip to main content

scan/
scan.rs

1use onig::*;
2
3fn scan_callback<'t>(n: i32, caps: Captures<'t>) -> bool {
4    println!("scan: {}", n);
5    println!("match at {}", caps.offset());
6
7    for (i, cap) in caps.iter_pos().enumerate() {
8        match cap {
9            Some(pos) => println!("{}: {:?}", i, pos),
10            None => println!("{}: did not capture", i),
11        }
12    }
13
14    true
15}
16
17fn exec(pattern: &str, to_match: &str) {
18    let reg = Regex::new(pattern).unwrap();
19    reg.scan(to_match, scan_callback);
20}
21
22fn main() {
23    exec("\\Ga+\\s*", "a aa aaa baaa");
24    exec("a+\\s*", "a aa aaa baaa");
25}