From: "Yugui (Yuki Sonoda)" Date: 2008-10-06T20:27:48+09:00 Subject: [ruby-list:45539] Re: 正規表現:2進数の認識 Yuguiといいます。 上間 健 さんは書きました: > 2進数の入力で > たとえば、 > 0b1010 が入力できて、0b09  は、はじくようにしたいのですが、、 > しかし、0b09 の入力を通してしまいます。 パターン /0[bB][01]+/ が、0b09の0b0の部分にマッチしているのでifの条件節 が成立しています。 文字列全体がパターンにマッチすることを意図していると思うので、それならば \A0[bB][01]+\z です。 それから、私ならこう書きますかねぇ。 $stdin.each_line do |line| case line.strip when /\A0b[01]+\z/i puts "2進" when 'q' puts "ばいばい〜" break end end 文字列がqではないが2進でもない場合は何もしなくて良いのですか? -- Yugui http://yugui.jp 私は私をDumpする