正規表現を DFA にコンパイルし、DFA を照合しながらグループ キャプチャを実行できる、Java 用の (無料の) 正規表現エンジンはありますか?
どちらも DFA にコンパイルされる dk.brics.automaton と jrexx を見つけましたが、どちらもグループ キャプチャを実行できないようです。私が見つけた他のエンジンはNFAにコンパイルされるようです。
これを試してください(おそらくDFAではありませんが、java.utilより高速です)http://jregex.sourceforge.net/gstarted-advanced.html#ngroups、またはこれを試してください:http://userguide.icu-project.org
そのテストによると: http://tusker.org/regex/regex_benchmark.html、どちらも高速です (ベンチマークは、ベンチマークの作成者がテストしたいものだけをテストすることを知っています)。
非常に高速な DFA 正規表現が必要なときは、grep を使用するプロセスを生成しました ;-) (6 GB のログ ファイルの場合、時間が 10 分から数秒に短縮されました)。
私は最近、tree-regexを書きました。
dk.brics.automatonは、DFAがグループのキャプチャを実行しているように見えます。この質問から2年後にはこの機能が新しくなると思います。AutomatonMatcherクラスをチェックしてください。
http://www.brics.dk/automaton/doc/dk/brics/automaton/AutomatonMatcher.html#group(int)を参照してください
Pat 正規表現ライブラリ @ http://www.javaregex.com/を試すことができます。