如何为整数的regexp扫描返回一个布尔值?

时间:2011-10-11 14:27:25

标签: ruby-on-rails regex integer

我正在通过我的对象属性查找不是的罪魁祸首:

^[1-3]{3}$

用于扫描regexp整数的方法是什么?

2 个答案:

答案 0 :(得分:4)

一些例子:

124.to_s.match(/^[1-3]{3}$/)
=> nil
123.to_s.match(/^[1-3]{3}$/)
=>#<MatchData "123">

由于nil被视为false,因此您拥有布尔值。

例如:

 "no yo" if 124.to_s.match(/^[1-3]{3}$/)
 => nil
 "yo!" if 123.to_s.match(/^[1-3]{3}$/)
 => "yo!"

答案 1 :(得分:1)

您也可以使用以下之一:

def is_pure_integer?(i)
  i.to_i.to_s == i.to_s
end

'132' =~ /^\d+$/ ? true : false