リビジョン: 40をコミットしました。主な変更点は以下の通りです。
- 演算子"?"を使って、最短マッチを指定できるようにした
これに伴い、以下の副作用が生じました。
- "nfa.h"を"_regex/"ディレクトリに移動(汎用性を失い、完全に正規表現用のモデルとなったため)
- "parse_tree.h"を削除し、クラス"mercury::parse_tree"を"_regex/parse_node.h"に移動("nfa.h"の移動に伴う変更)
- "dfa.h"を削除し、NFA→DFA変換ルーチンを正式にサポートから除外(最短マッチ演算子の導入により、DFAの表現能力を超えたため)
- 正規表現パターンとテキストによっては、必ずしも最長マッチにならないことがある(例:パターン"aa|a"でテキスト"aa"を検索すると、"a"にマッチする。これは不具合ではなく仕様)
- 検索速度が向上(全パターン検索を廃止したため)