46 lines
894 B
Rust
46 lines
894 B
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 mut 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"^.*(.).*\1.*$") {
|
|
Ok(_reg) => {
|
|
println!("Regex is built.");
|
|
0
|
|
}
|
|
Err(err) => {
|
|
eprintln!("{err}");
|
|
0
|
|
}
|
|
};
|
|
}
|