1use elyze::bytes::matchers::match_number;
2use elyze::matcher::Match;
3use elyze::recognizer::Recognizable;
4
5struct TokenNumber;
6
7impl Match<u8> for TokenNumber {
9 fn is_matching(&self, data: &[u8]) -> (bool, usize) {
10 match_number(data)
11 }
12
13 fn size(&self) -> usize {
14 0
15 }
16}
17
18fn main() {
19 let data = b"123abc";
20 let mut scanner = elyze::scanner::Scanner::new(data);
21 let result = TokenNumber.recognize_slice(&mut scanner);
22 println!("{:?}", result); if let Ok(Some(data)) = result {
25 let str_data = std::str::from_utf8(data).unwrap();
27 let result = str_data.parse::<usize>().unwrap();
29 println!("{}", result); }
31}