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.

原文地址:https://www.cnblogs.com/licongyu/p/5418642.html