1use eregex::{Regex, flags};
4
5fn main() {
6 let re = Regex::new(r"(?P<word>\w+)\s+(?P<num>\d+)").unwrap();
7 let m = re.find("hello 42 world").unwrap();
8 println!("match: {:?}", m.as_str());
9 println!("word = {:?}", m.name("word"));
10 println!("num = {:?}", m.name("num"));
11
12 let re = Regex::new(r"(\w)+").unwrap();
14 let m = re.find("abc").unwrap();
15 println!("captures of group 1: {:?}", m.captures(1));
16
17 let re = Regex::new(r"(?i)(?<=foo)bar").unwrap();
19 println!("lookbehind: {:?}", re.find("FOObar"));
20
21 let re = Regex::new(r"a(?>b*)b").unwrap();
23 println!("atomic find: {:?}", re.find("abbbbc"));
24
25 let re = Regex::new(r"(?P<first>\w+),(?P<second>\w+)").unwrap();
27 println!(
28 "replace: {}",
29 re.replace_all("a,b x,y", "${second} ${first}")
30 );
31
32 let re = Regex::new_with_flags(r"hello", flags::IGNORECASE | flags::MULTILINE).unwrap();
34 println!("flags: {:x}", re.flags().bits());
35}