在ruby中,我看到很多代码都在执行以下操作:
def test(s)
s =~ /Macintosh/
end
Run Code Online (Sandbox Code Playgroud)
测试字符串是否与正则表达式匹配.但是,这会返回fixnum或nil,具体取决于它是否找到匹配项.有没有办法做同样的操作,但让它返回一个布尔值,看它是否匹配?
我认为这两个可能的解决方案是!(s =~ /Macintosh/).nil?
和!(s !~ /Macintosh/)
,但那些都显得非常可读的.是否有类似的东西:
def test(s)
s.matches?(/Macintosh/)
end
Run Code Online (Sandbox Code Playgroud)