A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases
^(abc|xyz)$
were missing the outer parentheses. This caused an erroneous match of strings such as abc123
or 456xyz
because of precedence rules.a, aa, aaa, aaaa, aaab
previously returned the expression ^a{1,4}b?$
which erroneously matches aaaab
. Now the correct expression ^(a{3}b|a{1,4})$
is returned.-e
flag--with-surrogates
flag{min,max}
quantifier notation using the -r
flag^
and $