Как делают меня строка против regex, таким образом, что это возвратит true, если целая строка будет соответствовать (не подстрока)?
например:
test( \ee\ , "street" ) #=> returns false
test( \ee\ , "ee" ) #=> returns true!
Спасибо.
Начало строки можно сопоставить с \A
, а конец - с \Z
. В рубинах ^
и $
также совпадают начало и конец строки соответственно:
>> "a\na" =~ /^a$/
=> 0
>> "a\na" =~ /\Aa\Z/
=> nil
>> "a\na" =~ /\Aa\na\Z/
=> 0
Итак, вы спрашиваете, как проверить, равны ли две строки, верно? Просто используйте равенство строк! Это передает каждый из примеров, которые цитировали и вы, и Томас:
'ee' == 'street' # => false
'ee' == 'ee' # => true
"a\na" == 'a' # => false
"a\na" == "a\na" # => true