在Ruby中,这两个表达式似乎做类似的事情:

'it' =~ /^it$/   # 0
'it' =~ /\Ait\Z/ # 0
# but
/^it$/ == /\Ait\Z/ # false

所以我想知道^-\A$-\Z之间有什么区别,以及如何选择要使用的那个?

最佳答案

仅当您要匹配的字符串可以包含换行符时,差异才重要。 \A匹配字符串的开头。 ^匹配字符串的开头或紧接在新行之后。类似地,\Z仅匹配字符串的末尾,但是$匹配字符串的末尾或行的末尾。

例如,正则表达式 /^world$/ 匹配“hello\nworld”的第二行,但是表达式 /\Aworld\Z/ 失败。

关于ruby-on-rails -/it/和/\Ait\Z/有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3921309/

10-09 05:28