【问题标题】:Regular expressions in a sql databasesql数据库中的正则表达式
【发布时间】:2010-12-19 04:29:48
【问题描述】:

我有一个数据库表,其中每个条目都是一个正则表达式。例如,我表中的行如下所示:

表:email_address_templates 电子邮件地址:/.google.com/ 电子邮件地址:/.reddit.com/ 电子邮件地址:/*.ac.uk/

我希望能够搜索此表,并查找特定字符串是否与正则表达式之一匹配。

在 ruby​​ 中,它看起来像这样:

EmailAddressTemplate.all.select do |ea|
  ea.match "james@something.else.ac.uk"
end

我想知道是否有办法在纯 mysql 中做类似的事情。

【问题讨论】:

    标签: mysql ruby-on-rails regex


    【解决方案1】:
    select email_address
    from email_address_templates
    where "james@something.else.ac.uk" RLIKE email_address_templates;
    

    【讨论】:

      【解决方案2】:

      MySQL 可以处理POSIX regular expressions

      但是,与 Ruby 相比,这些功能非常有限,因此您必须确保所有内容都兼容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-04-16
        • 1970-01-01
        • 2016-04-20
        • 2018-12-09
        • 2016-10-19
        • 1970-01-01
        相关资源
        最近更新 更多