jrexx - automaton based regular expression api for Java - provides a very fast matching alogrithm, an extended pattern syntax (with set operations for complement, union, intersection, difference) and allows introspection of the automaton's structure.