A parser and matcher for regular expressions