UnicodeProp.pas を切り離す【SkRegExp version 3.0 の目玉】

SkRegExp version 3.0 のテストも大詰めです。

そこで、公開までの間、version 3.0 の目玉について紹介します。

第1回目は「UnicodeProp.pas を切り離す」についてです。

SkRegExp は Unicode 対応の正規表現ライブラリです。

Unicode サポートのため、UnicodeProp.pas と言う巨大なテーブルを保持しています。

しかし、正規表現の Unicode サポートが必要ない場面もあります。

たとえば、MIME 解析などは Unicode サポートは一切不要です。

そこで、そのような用途に対応するため、USE_UNICODE_PROPERTY と言う条件定義を追加しました。

USE_UNICODE_PROPERTY を有効にすると Unicode サポートが組み込まれます。これが標準の動作です。

一方、USE_UNICODE_PROPERTY を無効にすると 次の Unicode サポートが組み込まれなくなります。

  • Unicode プロパティを指定するメタ文字 p, P
  • Unicode対応の ドット ( . ) のメタ文字 X
    これらのメタ文字は普通の文字として扱われます。
  • 名前付きグループに使える文字が [_A-Za-z0-9] の文字に制限されます。
    たとえば漢字のグループ名を指定すると例外が発生します。

実は USE_UNICODE_PROPERTY についてはテストしていません。

理由はカンタン、テストが面倒だから。

そのためドキュメントには掲載しません。

アンドキュメンテッドな機能とお考え下さい。

ただし、USE_UNICODE_PROPERTY を無効にしたとき、新たなコードが走ることはありません。

既にテストを通ったコードのうち、Unicode サポートのコードだけが無効になっています。

したがって、信頼性は Unicode サポート有りの SKRegExp と代わらないと思います。

コメントを残す

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