use advent_of_code_2024::{make_main, SResult}; use regex::Regex; make_main!(); fn solve(lines: Vec) -> SResult { let mut result = 0; let re = Regex::new(r"mul\((?\d{1,3}),(?\d{1,3})\)")?; for line in lines { for caps in re.captures_iter(&line) { result += caps["mul1"].parse::().unwrap() * caps["mul2"].parse::().unwrap(); } } Ok(result) } #[cfg(test)] mod tests { use advent_of_code_2024::input; use super::*; #[test] fn sample_input() { let strings: Vec = input!("d3p1.txt"); let got = solve(strings).unwrap(); assert_eq!(got, 161); } }