2008年05月09日

正規表現で、文字列は全て半角カタカナか?のチェック(Perl編)


UTF-8対応です。


#全て半角カタカナか?
#Perlの正規表現で、渡された文字列が全て半角カタカナかチェックします。(UTF-8向け)
#Perl 正規表現 半角カタカナ UTF8
$str = "。アイウエオカキクケコサシスセソタチツテトナニヌネノハイフヘホマミムメモラリルレロヤユヨワン゚";
if ( $str =~ /^(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])+$/ ) {
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 22:03| Comment(0) | TrackBack(0) | 技術メモ(Perl)