Java: 正規表現を処理するためのライブラリ

Java 1.4 以降は、標準の java.util.regexp パッケージを使えばいい。かんたんかんたん。
ところが、1.3 までの場合を考えると、途端にあやしくなる。

RegularExpressions
http://wiki.java.net/bin/view/Javapedia/RegularExpressions
Mastering Regular Expressions, Second Edition - Chapter 8
http://www.oreilly.com/catalog/regex2/chapter/ch08.pdf

1 つめの URL は、正規表現についての Javapedia の記事。ここからリンクを張ってあるのが 2 つめの URL にある PDF で、これはオライリー本のサンプル。Java で使える正規表現ライブラリを比較した部分で、いくつかのライブラリを比較した結論として、Jakarta ORO を勧めている。

Jakarta ORO

Jakarta ORO
http://jakarta.apache.org/oro/

これは、もともと ORO Inc. が作ってた "OROMatcher" というライブラリで、現在では Apache に寄贈されている。枯れたライブラリであり、安心できるのは確か。このライブラリが登場した当時は他にまともな正規表現ライブラリが知られていなかったので、性能がよく Perl5 互換ということで、正規表現やるなら OROMatcher 使いな、という時期もあった。ただ、それってもう 5 年以上前の話だけど。
Jakarta にはもうひとつ、Regexp という正規表現ライブラリもある。

Jakarta Regexp

Jakarta Regexp
http://jakarta.apache.org/regexp/

前述の PDF で「機能も少ないしバグも多い」とされている Regexp だけど、ORO がなんとなく気に食わなかったので、一応見てみた。で、がっかりした。Javadoc に赤字で未実装部分のメモ。jar ファイルには TestCase やビルド用のツールまで入っている。超グダグダ。

残りはパス

PDF に載ってる他のは、今回探してる条件に合わないのでパス。
個人的には、java.util.regex を 1.3 以前用に移植したのがあれば即決なんだけど。