diff --git a/src/prob6.rs b/src/prob6.rs index 1d12c54..a713d5e 100644 --- a/src/prob6.rs +++ b/src/prob6.rs @@ -17,7 +17,7 @@ use fancy_regex::Regex; /// ``` fn begin_datagram(datagram: &str) { let mut letters = HashSet::::new(); - let mut primary_iter = datagram.chars().fuse(); + let primary_iter = datagram.chars().fuse(); let mut motif_iter = primary_iter.clone(); while letters.len() < 4 { if let Some(tmp) = motif_iter.next() { @@ -32,9 +32,21 @@ fn begin_datagram(datagram: &str) { pub fn solve_part1(content: &str) -> i32 { let _content = content; - return match Regex::new(r"^.*(.).*\1.*$") { + return match Regex::new(r"^(?:([A-Za-z])(?!.*\1))*$") { Ok(_reg) => { println!("Regex is built."); + match _reg.find(_content) { + Ok(matches) => { + if let Some(yay) = matches { + println!("{}", yay.as_str()); + } else { + println!("Snif no match :("); + } + } + Err(err) => { + eprintln!("{err}") + } + } 0 } Err(err) => {