[過去ログ] 正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g (989レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
300
(4): 04/02/27 00:44 ID:28vfJb2l(1) AAS
どっか勘違いしてるのでしょうか?
perlなのですが、
テキストボックスに入れた数値を$in{'count'}に格納して、
それが数字じゃなければエラー出しして終わりにしたいのですが、
数値だろうと、そうでなかろうと、いかのunlessの中を通りません。

 unless ( ($in{'count'} =~ m/^[1-9][0-9]*$/) || ($in{'count'} == 0) ){
  print "Content-type: text/html\n\n";
  print "数字を入れてください。もどってください。";
  exit;
 }
301
(1): 04/02/27 01:04 ID:??? AAS
>>300
こういうことか?

if ("hoge" == 0) { print "ZERO\n" } else { print "NON-ZERO\n" };
302: 300 04/02/27 01:33 ID:??? AAS
>>301
えっと、ごめんなさい、正確に言うと、
「正の整数」を入れてもらいたいので、そうでない場合は、エラーではじきたいのですが。。。
「dhfshfhjksad」みたいな適当な文字を入れてもエラーをすり抜けてしまうし、
「345」みたいちゃんとした「正の整数」を入れても、エラーをすり抜けてくれる。。。
303
(1): 04/02/27 01:46 ID:??? AAS
>>300
数字は $in{'count'} =~ m/^[1-9][0-9]*$/ で真になるから unless
ブロックに入らない。(数字を含まない) 文字列を数値コンテキスト
で評価すると 0 になるので $in{'count'} == 0 で真になるから unless
ブロックに入らない。

以後、Perl の質問は 2chスレ:php へ。
305: 300 04/02/27 04:09 ID:??? AAS
>>303

なるほど、よくわかりました。ありがとうございます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.057s