通过正则表达式匹配搜索MySQL数据库(反向)

时间:2012-08-20 20:27:04

标签: mysql regex

如果我的数据库表有一个包含正则表达式模式的列,是否可以返回一个字符串匹配的行(没有系统地测试每一行)?

例如,像这样的表:

RowID     RegExPattern
1         foo\.$
2         bar\.$
3         baz\.$
4         (foo|bar)\.$

和这样的输入字符串:

foo.php

将返回RowID s 14

1 个答案:

答案 0 :(得分:7)

  

如果我的数据库表有一列包含正则表达式模式,是否可以返回字符串匹配的行[...]?

是的,这是可能的。

SELECT RowID
FROM yourtable
WHERE 'foo.php' REGEXP RegExPattern

请注意,您的正则表达式不匹配。如果省略$,那么他们会。

查看在线工作:sqlfiddle

  

(没有依次系统地测试每一行)

呃......不。你需要测试每一行。