毎度です。
「正規表現ハンドブック」ネタ。
SECTION 09.03 漢字・ひらがな・カタカナにマッチさせる(191ページ)
ここで、文字列がシフトJIS、あるいはEUCの場合、Unicodeプロパティが使えな
いということになって、従来のjperlで使う正規表現が例示されているのですが、
Perl5.8では、sjisエンコーディング下で、\p{Han}や\p{Hiragana}が使えるよう
に思います。
また、Perl5.8のsjisエンコーディングでは、jperlの漢字の正規表現は同じ動作
になりませんね。
例えば、次のようなスクリプトを、utf8あるいはsjisエンコーディングの
Perl5.8やjperlで動かしてみたのですが。無論jperlでは、\p{・・・}をはずし
てです。
use encoding 'sjis';
#use encoding 'utf8';
while(<DATA>){
while(/([亜-熙]+)/g){
print "漢字:",$1,"\n";
}
while(/(\p{Han}+)/g){
print "Han:",$1,"\n";
}
while(/([ぁ-ん]+)/g){
print "ひらかな:",$1,"\n";
}
while(/(\p{Hiragana}+)/g){
print "Hiragana:",$1,"\n";
}
}
__DATA__
あなたは藤岡和夫です。
私はFUJIOKAです。
藤岡 和夫
kazuf@...
TS Networkのために http://homepage1.nifty.com/kazuf/