【发布时间】:2011-03-24 00:01:47
【问题描述】:
有没有办法将字符串转换为正则表达式(在 Ruby 中)?比方说:
'example' ---> /example/
我的目的是动态生成正则表达式。
【问题讨论】:
有没有办法将字符串转换为正则表达式(在 Ruby 中)?比方说:
'example' ---> /example/
我的目的是动态生成正则表达式。
【问题讨论】:
regexp = Regexp.new(string)
或
regexp = /#{string}/
如果string可能有特殊字符,那么:
regexp = Regexp.new(Regexp.escape(string))
或
regexp = /#{Regexp.escape(string)}/
【讨论】:
你也可以写...
regex = Regexp.compile(string)
...这是一个非常具有描述性的名称。此方法将源代码(字符串)编译为不确定的有限自动机(正则表达式)。然后可以反复使用 NFA。
【讨论】:
你可以试试/#{your variable}/
【讨论】: