RE2/J: Linear time regular expression matching in Java
github.com
github.com
Javadoc: https://lucene.apache.org/core/4_0_0/core/org/apache/lucene/...
Source: https://github.com/apache/lucene-solr/blob/trunk/lucene/core...
It's got a much different API than java.util.RegEx, but it let's you work with Automatons as first class things instead of operating just with regexes. Being able to compute intersections, unions, shortest match examples, from multiple automata etc.. can be really useful.
It's fast, but limited too: no word boundary matching for example.
See http://en.wikipedia.org/wiki/Regular_language for more.
With a DFA representation (linear time evaluation), this is pretty powerful. I've a regexp library that supports this, that I've been meaning to spruce up for wider release, but it's been several years and I've yet to do it.
https://code.google.com/p/jjoost/source/browse/#hg%2Fjjoost-...