use elyze::matcher::Match;
use elyze::recognizer::recognize;
use elyze::scanner::Scanner;
#[derive(Debug)]
struct Hello;
impl Match<u8> for Hello {
fn is_matching(&self, data: &[u8]) -> (bool, usize) {
let pattern = b"hello";
(&data[..pattern.len()] == pattern, pattern.len())
}
fn size(&self) -> usize {
5
}
}
fn main() {
let mut scanner = Scanner::new(b"hello world");
let data = recognize(Hello, &mut scanner);
if let Ok(hello) = data {
println!("found: {hello:?}"); print!(
"remaining: {:?}",
String::from_utf8_lossy(scanner.remaining())
); } else {
println!("not found");
}
}