获取不包含任何字母的行,但在regex Postgres

时间:2017-09-18 08:21:44

标签: sql regex postgresql

首先,如果这是一个重复的问题,请道歉。我已尽力搜索但未成功,我甚至无法用关键字正确地说出我的问题!

我需要编写一个Postgres查询,它会找到包含任何字母但在正则表达式中给出的所有行。我已经发现我需要使用正则表达式的LIKE语句。但我不知道如何解决适当的条件。

示例:字母是' A',' P',' P',' L',' E&#39 ;

查询应返回

  1. APP
  2. PAL
  3. LAP
  4. APPLE
  5. 查询不应返回

    1. PEL的Ť
    2. P E
    3. 等...
    4. 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用~运算符在postgresql中使用正则表达式而不是LIKE,并且您的正则表达式应如下所示:

SELECT * FROM tablename WHERE col ~ '^[APLE]+$';

意味着匹配组[APLE]

中的一个或多个角色

所以它可以返回:

APP 
PAL 
LAP 
APPLE

而不是:

PELT
PIE