我有一个带有列的数据库表,其中每个条目都是正则表达式。例如,我表格中的行如下所示:
表:email_address_templates email_address:/ .google.com/ email_address:/.reddit.com/ email_address:/ *。ac.uk /
我希望能够搜索此表,并查找特定字符串是否与其中一个正则表达式匹配。
在红宝石中,它看起来像这样:
EmailAddressTemplate.all.select do |ea|
ea.match "james@something.else.ac.uk"
end
我想知道是否有办法在纯mysql中做类似的事情。
答案 0 :(得分:2)
select email_address
from email_address_templates
where "james@something.else.ac.uk" RLIKE email_address_templates;
答案 1 :(得分:0)
MySQL可以处理POSIX regular expressions。
然而,与Ruby相比,这些都非常有限,因此您必须确保所有内容都兼容。