簡體   English   中英

為什么Ruby的正則表達式使用\\ A和\\ z而不是^和$?

[英]Why do Ruby's regular expressions use \A and \z instead of ^ and $?

我不是Ruby程序員,但在閱讀廣泛的Ruby on Rails安全指南時 ,我注意到了這一部分:

Ruby正則表達式中常見的缺陷是將字符串的開頭和結尾與^和$匹配,而不是\\ A和\\ z。

有誰知道這只是美學問題還是其他問題? 我問,因為我只使用了使用^$語言。

這不是Ruby特有的; \\A\\Z^$不是一回事。 ^$錨點的開頭和結尾,而\\A\\Z字符串錨點的開頭和結尾。

Ruby與其他語言的不同之處在於它自動使用“多行模式”(這使得上述行為具有^$匹配每行)用於正則表達式,但在大多數其他類型中,您需要自己啟用它,這可能就是為什么文章包含警告。

參考: http//www.regular-expressions.info/anchors.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM