我如何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