如何为此编写匹配的正则表达式?

时间:2011-12-14 20:29:16

标签: ruby-on-rails regex string match

我在这个数组中寻找关键字"admin"

params[:controller] = ["admin","organizations"]

所以我写了这个:

params[:controller].split(/\//).each{|a|a.match(/admin/)}

但这令人费解地回归:

["admin", "organizations"]

我在这里缺少什么正确的语法?

3 个答案:

答案 0 :(得分:4)

为什么不使用

params[:controller].include? "admin"

答案 1 :(得分:1)

each返回原始数组。

听起来更像you want any?,如果任何集合元素从块返回一个真值,则返回true

(你也可以随时join。)

答案 2 :(得分:0)

你的匹配语句实际上没有做任何事情,因为它不会产生任何输出。如果你有puts a.match(/admin/),它会写一次“admin”。

每个的实际返回值是数组,这就是你看到原始数组被返回的原因..