2008年04月13日

正規表現で、文字列は全て平仮名か?のチェック(Perl編)



文字エンコーディング:UTF8対応です。

$str = "あいうえおわいうえおん";
if ( $str =~ /^(?:\xE3\x81[\x81-\xBF]|\xE3\x82[\x80-\x93])+$/ ) {
print encode('shift-jis', decode('utf-8', "すべてが全角ひらがなである\n"));
} else {
print encode('shift-jis', decode('utf-8', "すべてが全角ひらがなではない\n"));
}
#↓
#"すべて全角ひらがなである"



※標準出力をutf8→SJISに変換しているのは、開発環境がWindows+Eclipseの都合です。Windows+Eclipseのコンソールは、SJISエンコーディングオンリーなので。

posted by 台北猫々 at 20:18| Comment(0) | TrackBack(0) | 技術メモ(Perl)