我不是一个Ruby程序员,但当我读到 Ruby on Rails security guide ,我注意到这一部分:
Ruby_的正则表达式中的一个常见缺陷是匹配字符串_的开头和结尾是^和$而不是\a和\z。
有人知道这是美学问题还是其他问题?我问是因为我只使用了 ^ 和 $ .
^
$
这不是Ruby特有的; \A 和 \Z 不是同一件事 ^ 和 $ . ^ 和 $ 是的开始和结束 线 锚,而 A 和 \z 是的开始和结束 一串 锚。
\A
\Z
A
\z
Ruby与其他语言的不同之处在于它自动使用“多行模式”(这使得前面提到的 ^ 和 $ 每行匹配)对于正则表达式,但在大多数其他风格中,您需要自己启用它,这可能就是为什么该文章包含警告的原因。
参考文献: http://www.regular-expressions.info/anchors.html