如果我的数据库表有一个包含正则表达式模式的列,是否可以返回一个字符串匹配的行(没有系统地测试每一行)?
例如,像这样的表:
RowID RegExPattern
1 foo\.$
2 bar\.$
3 baz\.$
4 (foo|bar)\.$
和这样的输入字符串:
foo.php
将返回RowID
s 1
和4
答案 0 :(得分:7)
如果我的数据库表有一列包含正则表达式模式,是否可以返回字符串匹配的行[...]?
是的,这是可能的。
SELECT RowID
FROM yourtable
WHERE 'foo.php' REGEXP RegExPattern
请注意,您的正则表达式不匹配。如果省略$
,那么他们会。
查看在线工作:sqlfiddle
(没有依次系统地测试每一行)
呃......不。你需要测试每一行。