繁体   English   中英

/ it /和/ \ Ait \ Z /有什么区别

[英]What is the difference between /it/ and /\Ait\Z/

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

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

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

只有当您匹配的字符串可以包含新行时,差异才很重要。 \\A匹配字符串的开头。 ^匹配字符串的开头或紧跟新行之后。 类似地\\Z只匹配字符串的结尾,但$匹配字符串的结尾或行的结尾。

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

在支持多行正则表达式的正则表达式引擎中, ^$通常用于标记的开始和结束。

\\A\\Z用于字符串标记的开始和结束。

例如,字符串:

Hello, my names
are Bob and James

将匹配ames$两次(名字和詹姆斯),但ames\\Z只有一次(詹姆斯)。

^ - 行的开始
\\A - 字符串的开头

$ - 行尾
\\Z - 字符串的结尾

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM