2006/10/14 浄土夢
2006/10/07 発微算法
2006/10/06 宇気比の戦い
■[鬼車] Unicode Caseless Match (3)
Caseless Matchの実装の書き換えは大体終わった。あとは、UnicodeのCase Fold情報を組み込んで、他の文字コードと同様の機能を実装すれば終了する。
この書き換えによって、仕様が少し変わった。
■[鬼車] Unicode Caseless Match (4)
デフォルトでは有効にはなっていないが、オプション機能として、一文字と複数文字のcase-fold変換になる場合、それが機能するのは一個の文字列部分パターンか、一個の文字クラス部分パターンの中だけであり、それ以外の部分パターンでは機能しない。
U+00DFとU+0073;U+0073(ss)の場合、以下のパターンであればマッチする。
/\x{00DF}/i =~ "ss"
/SS/i =~ "\x{00DF}"
/\A[\w]\z/i =~ "ss"
以下のパターンはマッチしない。
/s[s]/i =~ "\x{00DF}"
/\A.\z/i =~ "ss"
/\A\w\z/i =~ "ss"
/\A\w\w\z/i =~ "\x{00DF}"
Perlを含めて他がどうなっているのかは調べていないが、こういう仕様で問題ないと思う。