use regex::Regex; #[cfg(test)] mod lib_test; fn parse_dice_segments<'a>(cmd: &'a str) -> Vec> { let regex = Regex::new(r#"(?x) (?P[+\-/*])? \s* (?: (?: (?P\d+)? # count (optional) d (?P\d+) # dice size (?:d(?P\d+))? ) | (?: (?P\d+) ) ) "#).expect("Failed to compile regex"); regex.captures_iter(cmd).collect() }