extern crate regex; use regex::Regex; fn main() { let args: Vec = std::env::args().collect(); if args.len() < 4 { println!("Usage: {} ", args[0]); } else { let re = Regex::new(&args[2]).unwrap(); let text = &args[1]; let group: usize = args[3].parse().expect("Invalid group number."); let groups = re.captures(&text).unwrap(); if group > groups.len() { eprintln!("Invalid group number."); } else { println!("{}", groups.get(group).unwrap().as_str()); } } }