doc*_*nge 49 ruby regex string
如何对正则表达式的字符串,如果整个字符串匹配(不是子字符串),它将返回true ?
例如:
test( \ee\ , "street" ) #=> returns false
test( \ee\ , "ee" ) #=> returns true!
Run Code Online (Sandbox Code Playgroud)
谢谢.
Tom*_*kas 69
您可以匹配字符串的开头\A
和结尾\Z
.在红宝石^
和$
比赛也行,分别的开始和结束:
>> "a\na" =~ /^a$/
=> 0
>> "a\na" =~ /\Aa\Z/
=> nil
>> "a\na" =~ /\Aa\na\Z/
=> 0
Run Code Online (Sandbox Code Playgroud)
小智 19
这似乎对我有用,虽然看起来很丑陋(可能是一种更有吸引力的方式):
!(string =~ /^ee$/).nil?
Run Code Online (Sandbox Code Playgroud)
当然//上面的所有内容都可以是你想要的任何正则表达式.
例:
>> string = "street"
=> "street"
>> !(string =~ /^ee$/).nil?
=> false
>> string = "ee"
=> "ee"
>> !(string =~ /^ee$/).nil?
=> true
Run Code Online (Sandbox Code Playgroud)
注意:使用ruby(1.8.7)和rails(3.1.1)在Rails控制台中测试