Postgres的正则表达式

时间:2013-09-19 11:59:18

标签: regex postgresql

我想从符合此模式的postgres表中提取特定字段:

/^Untitled Deal \d+$/

例如:

  

Untitled Deal 1

     

Untitled Deal 2

     

Untitled Deal 3

我在postgres中遇到了无效的查询:

SELECT "name" FROM "deals" WHERE ("name" ILIKE '/^Untitled Deal \\d+$/');

有谁可以指出我做错了什么?

2 个答案:

答案 0 :(得分:5)

如果要对POSIX样式的正则表达式进行模式匹配,则需要使用~*而不是ILIKE

即:

SELECT "name" FROM "deals" WHERE ("name" ~* E'^Untitled Deal \\d+$');

另见:

答案 1 :(得分:2)

您只需使用LIKE%

即可

即,

SELECT name FROM deals WHERE name LIKE 'Untitled Deal %'