如果我有一个包含正则表达式模式的列的数据库表,是否可以返回字符串匹配的行(不依次系统地测试每一行)?
例如,像这样的表:
RowID RegExPattern 1 foo\.$ 2 bar\.$ 3 baz\.$ 4 (foo|bar)\.$
和这样的输入字符串:
foo.PHP
将返回RowID 1和4
解决方法
If I have a database table that has one column that contains a regex pattern,is it possible to return rows […] that a string matches?
是的,这是可能的.
SELECT RowID FROM yourtable WHERE 'foo.PHP' REGEXP RegExPattern
请注意,您的正则表达式将不匹配.如果省略$那么他们会.
看到它在线工作:sqlfiddle
(without systematically testing each row in turn)
呃……不.您需要测试每一行.