My own regular expression engine