有没有办法将String转换为Regexp(在Ruby中)?让我们说:
'example' ---> /example/
我的目的是动态生成Regexps。
答案 0 :(得分:15)
regexp = Regexp.new(string)
或
regexp = /#{string}/
如果string
可能有特殊字符,那么:
regexp = Regexp.new(Regexp.escape(string))
或
regexp = /#{Regexp.escape(string)}/
答案 1 :(得分:4)
你也可以写......
regex = Regexp.compile(string)
...这是一个非常具有描述性的名称。此方法将源代码(字符串)编译为非确定性有限自动机(regex)。然后可以反复重复使用NFA。
答案 2 :(得分:2)
您可以尝试/#{your variable}/