5

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

例如,这样的表:

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

和这样的输入字符串:

foo.php

将返回RowIDs14

4

1 回答 1

7

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

是的,这是可能的。

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

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

在线查看它:sqlfiddle

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

呃……不。您需要测试每一行。

于 2012-08-20T20:30:56.027 回答