diff --git a/src/main.rs b/src/main.rs --- a/src/main.rs +++ b/src/main.rs @@ -2,9 +2,15 @@ use regexp::Regexp; fn main() { let tests = ["", "a", "ab", "aabb", "abab", "abcd", "abcbcdbcd"]; - for pattern in ["a*b*", "a+b+", "(ab)*", "(ab)+", "a((bc)*d)*"] { + for pattern in ["*", "((a)", "a)", "+a"] { println!("# {pattern}"); - let r = Regexp::new(&pattern.to_string()).determinize(); + let r = match Regexp::new(&pattern.to_string()) { + Ok(r1) => r1.determinize(), + Err(e) => { + println!("{e}"); + continue; + } + }; for &t in tests.iter() { println!("{t} {}", r.eval(t.to_string())); }