Как я тестирую ЦЕЛУЮ строку против regex в рубине?

Как делают меня строка против regex, таким образом, что это возвратит true, если целая строка будет соответствовать (не подстрока)?

например:

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

Спасибо.

49
задан doctororange 10 February 2010 в 02:20
поделиться

2 ответа

Начало строки можно сопоставить с \A, а конец - с \Z. В рубинах ^ и $ также совпадают начало и конец строки соответственно:

>> "a\na" =~ /^a$/
=> 0
>> "a\na" =~ /\Aa\Z/
=> nil
>> "a\na" =~ /\Aa\na\Z/
=> 0
69
ответ дан 7 November 2019 в 11:42
поделиться

Итак, вы спрашиваете, как проверить, равны ли две строки, верно? Просто используйте равенство строк! Это передает каждый из примеров, которые цитировали и вы, и Томас:

'ee'   == 'street' # => false
'ee'   == 'ee'     # => true
"a\na" == 'a'      # => false
"a\na" == "a\na"   # => true
3
ответ дан 7 November 2019 в 11:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: