gpt4 book ai didi

ruby - ruby 正则表达式中 ^ 、 $ 和\A 、\Z 之间的区别

转载 作者:太空宇宙 更新时间:2023-11-03 17:03:35 25 4
gpt4 key购买 nike

^ - Matches beginning of line

$ - Matches end of line

\A - Matches beginning of string.

\Z - Matches end of string. If string ends with a newline, it matches just before

前两个和后两个有什么区别?你什么时候会用一个而不是另一个?我没看到。

最佳答案

您可以有一个多行字符串,其中 \A\Z 变得重要:

s = "this\ntest"
# => "this\ntest"

s.match(/^this$/)
# => <MatchData "this">

s.match(/\Athis\Z/)
# => nil

在某些情况下,验证用户数据时 \A\Z命令式。例如:

if (site.match(%r[^http://sitename.com/$]))
# ...
end

在这种情况下,可以围绕提供 "http://sitename.com/\nhttp://evil.com/" 作为站点字符串来构建攻击。

关于ruby - ruby 正则表达式中 ^ 、 $ 和\A 、\Z 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22994776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com