【问题标题】:Ruby: generating new Regexps from stringsRuby:从字符串生成新的正则表达式
【发布时间】:2011-03-24 00:01:47
【问题描述】:

有没有办法将字符串转换为正则表达式(在 Ruby 中)?比方说:

'example' ---> /example/

我的目的是动态生成正则表达式。

【问题讨论】:

    标签: ruby regex string


    【解决方案1】:
    regexp = Regexp.new(string)
    

    regexp = /#{string}/
    

    如果string可能有特殊字符,那么:

    regexp = Regexp.new(Regexp.escape(string))
    

    regexp = /#{Regexp.escape(string)}/
    

    【讨论】:

      【解决方案2】:

      你也可以写...

      regex = Regexp.compile(string)
      

      ...这是一个非常具有描述性的名称。此方法将源代码(字符串)编译为不确定的有限自动机(正则表达式)。然后可以反复使用 NFA。

      【讨论】:

        【解决方案3】:

        你可以试试/#{your variable}/

        【讨论】:

          猜你喜欢
          • 2021-10-04
          • 1970-01-01
          • 2011-03-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多