1
0
Fork 0
AdvenOfCode2022/src/prob6.rs

58 lines
1.3 KiB
Rust

use std::collections::HashSet;
use fancy_regex::Regex;
/// Tries to find the 4 character match.
///
/// # Arguments
///
/// * `datagram`:
///
/// returns: ()
///
/// # Examples
///
/// ```
///
/// ```
fn begin_datagram(datagram: &str) {
let mut letters = HashSet::<char>::new();
let primary_iter = datagram.chars().fuse();
let mut motif_iter = primary_iter.clone();
while letters.len() < 4 {
if let Some(tmp) = motif_iter.next() {
if !letters.insert(tmp) {
letters.clear();
}
} else {
break;
}
}
}
pub fn solve_part1(content: &str) -> i32 {
let _content = content;
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) => {
eprintln!("{err}");
0
}
};
}