何らかの事情により、半角の英語つまりアルファベット(a~z、A~Z)のみかをチェックしたい場合、どのようにしたら良いだろうか?これも正規表現で解決できる。
サンプル
;# ;#入力チェック ;# if( isAlpha('123') ){ print "アルファベットだけ\n"; } else{ print "アルファベット以外\n"; } #--------------------------------------- #英字のみかチェックする #--------------------------------------- sub isAlpha{ my $str = shift || return(undef); #-- 英字のみか --# if( $str =~ /^[a-zA-Z]{1,}$/ ){ return(1); } #-- 英字以外が含まれる --# else{ return(0); } }
「{1,}
」は1以上という意味の量指定子を用いているが、「[a-zA-Z]+
」などのように「+
」で表現しても良い。ただ個人的には見た瞬間に理解できる方がオススメ。
小文字だけ、大文字だけといったチェックにしたい場合には、[a-zA-Z]
の部分を[a-z]
ないし[A-Z]
とすれば良い。