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