我如何testing一个整数string与ruby的正则expression式?

如何对正则expression式的string,如果整个string匹配(而不是一个子string)它将返回true?

例如:

test( \ee\ , "street" ) #=> returns false test( \ee\ , "ee" ) #=> returns true! 

谢谢。

您可以将string的开始与\A匹配,并以\Z结尾。 在ruby^$匹配也行的开始和结束:

 >> "a\na" =~ /^a$/ => 0 >> "a\na" =~ /\Aa\Z/ => nil >> "a\na" =~ /\Aa\na\Z/ => 0 

这似乎对我很有用,虽然它看起来很丑(可能是一个更有吸引力的方式):

 !(string =~ /^ee$/).nil? 

当然,上面的//里面的所有东西都可以是你想要的任何正则expression式。

例:

 >> string = "street" => "street" >> !(string =~ /^ee$/).nil? => false >> string = "ee" => "ee" >> !(string =~ /^ee$/).nil? => true 

注意:在Rails控制台中用ruby(1.8.7)和rails(3.1.1)

所以,你要问的是如何testing两个string是否相等,对不对? 只要使用string平等! 这通过了你和Tomas引用的每一个例子:

 'ee' == 'street' # => false 'ee' == 'ee' # => true "a\na" == 'a' # => false "a\na" == "a\na" # => true