2014-12-04 76 views
-1

我有一个这样的表:PostgreSQL的反向模式匹配(在现场模式)

id: 1 
pattern: /test.* 

id: 2 
pattern: /hello-world 

与此输入值:/test-request

现在我想给定的输入和应该的Postgres创建一个查询返回第二列中的模式与输入匹配的行(正则表达式搜索,但正则表达式位于要搜索的字段中)

这对postgres数据库可能吗?

回答

5

您可以使用列值的正则表达式运算符:

select id, pattern 
from patterns 
where '/test-request' ~* pattern; 

~*不区分大小写的匹配,~不区分大小写的匹配。

SQLFiddle例如:http://sqlfiddle.com/#!15/388a4/2

+0

不知道它有可能改变这两个字段的顺序,谢谢! – Fender 2014-12-04 09:16:49