ruby 把字符串转为正则匹配表达式

需求

函数,需要通过参数传递字符串,用来做正则匹配

reg = '[0-9]+'
def func(str, reg)
    str.scan(reg)
end

由于 reg 在其它地方定义, reg 是字符串, 传进来后发现没法直接用于正则匹配

返回的结果总是 [] 空字符串.

解决

通过 Regexp 来通过 string 生成正则匹配的条件

def func)(str, reg)
    reg = Regexp.new("#{reg}"[0..-1])
    "#{str}" =~ reg
end

SO, all is ok.

posted @ 2016-04-21 20:40  弋痕夕的残影  阅读(852)  评论(0)    收藏  举报