Ruby:从字符串生成新的Regexp

时间:2011-03-24 00:01:48

标签: ruby regex string

有没有办法将String转换为Regexp(在Ruby中)?让我们说:

'example' ---> /example/

我的目的是动态生成Regexps。

3 个答案:

答案 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}/