SkRegExp version 2.1.0 公開

SkRegExp version 2.1.0 を公開しました。

今回の更新の目玉は、version 2.0 で消えた先頭文字/文字クラスの識別による最適化のサポートが復活したことです。

先頭文字/文字クラスの識別による最適化とは次のようなモノです。

まず、正規表現パターンを分析して先頭に来る文字を絞り込みます。

その情報を使って、先頭文字が一致したときだけ正規表現エンジンを起動します。

例として、正規表現パターン [a-z]*[0-1] がマッチする文字列を考えてみます。

この文字列がマッチするには次の文字が先頭である必要があります。

まずは、a から z の間の文字。

しかし、[a-z] はゼロ以上の繰り返しです。a から z の間の文字はなくてもいいんです。

そのため、[a-z]* の直後にある [0-9] も先頭に来る可能性があります。

したがって、正規表現パターン [a-z]*[0-9]  がマッチを試みる位置は文字 a から z の間か、または、0 から 9 の間の文字だけでよいと言うことです。

実は、version 1.5 までの最適化はこれだけでした。

version 2.1 ではこの他にも最適化があった上で、さらに先頭文字/文字クラスの識別による最適化をプラスしています。

SkRegExp version 2.1.0 はコチラからダウンロードできます。

コメントを残す

メールアドレスが公開されることはありません。