SkRegExp version 1.5.1 公開

SkRegExp version 1.5.1 を公開しました。

変更点は次の通りです。

  • 新規)Demo フォルダに UnicodeProp.pas を自動生成するプログラム UniPropBuilder を追加。
  • 更新)Unicode 6.2 に対応。
  • 更新)TRECharMap.IsExists で、検索対象文字が範囲外ならすぐに False を返すようにした。
  • 更新)TRECharClassCode.IsEqual で、検索対象文字が範囲外ならすぐに False を返すようにした。
  • 更新)a{2,4} 、p[Hiragana}{10,} などの固定長の繰り返しを最適化した。
  • 更新)文字クラスのマッチを、負荷の軽い順に実行するようにした。
  • 修正)Unicode Property p の L& と LC がマッチしないバグを修正。
  • 修正)ユニコードプロパティの別名表記 p{Lu} に対する p{Uppercase_Letter} )が廃止されてなかったのを修正。
  • 修正)Perl 5.10 の (*VERB:ARG) の形式で記述する、特殊なバックトラック制御記号に対応。
    1.5.0 で対応していたがどこにも記載していなかったのを修正。
  • 修正)Unicode 改行文字 #$2028 がマッチせず、そうではない #$2020 がマッチするバグを修正。
  • 廃止)条件定義 HIsHexDigit を削除。

Unicode のバージョンについては 6.0 が最新バージョンだと思い込んでいたため、1.5.0 と対応が変わってしまいました。

今後はマイナーバージョンアップ時には最新の Unicode バージョンを採用する予定です。

なお、他の Unicode バージョンが必要な方は Demo フォルダ内の UnipropBuilder というプログラムをコンパイルして実行してください。5.0 ~ 6.2 に対応した UnicodeProp.pas を自動生成できます。

また、ユニコードプロパティの L& についてはテストプログラムで無効になっていたため気づきませんでした。

おそらく、ずいぶん前からマッチしなかったようです。

これで細かいバグ、凶悪なバグがなくなってきて、SkRegExp もようやく安定期に入ったように感じています。

って、すぐにまたバグは見つかるんでしょうけどね。

コメントを残す

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