在ruby中,空正则表达式与什么匹配?
在RoR安全教程之后,我写了一些关于在ruby中,空正则表达式与什么匹配?,ruby,regex,Ruby,Regex,在RoR安全教程之后,我写了一些关于 @@private_re = // def secure? action_name =~ @@private_re end 其思想是,在基本情况下,这不应该匹配任何内容,并返回nil。问题是它没有。我暂时使用了一个无意义的字符串,但我想知道答案。空正则表达式成功地匹配了每个字符串 始终无法匹配的正则表达式示例: /(?=a)b/ /\Zx\A/ /[^\s\s]/ 这意味着不会以任何方式更改控制器的行为,因为/将匹配每个字符串 其思想是,要在控制器中
@@private_re = //
def secure?
action_name =~ @@private_re
end
其思想是,在基本情况下,这不应该匹配任何内容,并返回
nil
。问题是它没有。我暂时使用了一个无意义的字符串,但我想知道答案。空正则表达式成功地匹配了每个字符串
始终无法匹配的正则表达式示例:
/(?=a)b/
/\Zx\A/
/[^\s\s]/
/
将匹配每个字符串
其思想是,要在控制器中设置@@private
,以匹配您确实希望成为private的内容。因此,该代码意味着什么也不做,但当与
@@private=/…/
在控制器中,为您提供了一个很好的隐私机制。/somethingthewillnevermatch/工作原理相同,可读性更强:)@kolosy…它将匹配文本字符串somethingthewillnevermatch
:D-这不可能是您正在测试的内容。。。但这是可能的!:Dit可能意味着什么也不做,但如果在应用程序控制器中逐字使用,则在没有登录用户时会导致重定向循环。正则表达式匹配所有内容,踢你登录,正则表达式匹配所有内容,踢你登录,等等。