半角英字のみかチェックする - Perl

この記事は2006年10月21日に書かれたものです。

何らかの事情により、半角の英語つまりアルファベット(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]とすれば良い。

関連書籍

新屋 良磨, 鈴木 勇介, 高田 謙
ISBN 4774172707
¥ 3,564

failed to fetch data: unkown error

failed to fetch data: unkown error

コメント

コメントを入力. Wiki文法が有効です:
J X S L J