正規表現で数字を判定する方法を教えてください。
[上に]
[前に]
[次に]
おきな
1998/09/28(月) 12:11:14
簡単な質問で恐縮ですが、$valが数字かどうか判定する方法を教えてください。
正規表現というのをつかえばいいのは分かるんですが、どうもよく分かりません。
if ($val =~ /[0-9]+/)
こんな感じなのは分かるのですが、これだと、数字が含まれているだけでHitしてしまいます。
「0−9だけからなる一文字以上の文字列」
だけをHitさせる方法を教えてください。
Tiot
[E-Mail]
1998/09/28(月) 13:57:40
if($val =~ /^[0-9]+$/)
こんな感じでしょうか。
~は文字列の最初、$は最後をあらわします。
尾高 雄吾
[E-Mail]
1998/09/28(月) 14:09:08
perlの正規表現なら、
if ($val =~ /^\d+$/)
とか、
if ($val != /\D/)
なんてのもアリでしょうか。
\dは数字、\Dは数字以外の文字にマッチします。
# 二重否定ってのは、ちとわかりにくいかな
おきな
1998/09/28(月) 14:19:56
[[解決]]
早速の回答ありがとうございました!!
解決しました。助かりました。
匿名希望
1998/09/28(月) 14:54:04
改行が入っている(かもしれない)場合は事前にchompしたほうがいいでしょう。
[上に]
[前に]
[次に]