PostgreSQL中的正则表达式无法按预期工作

时间:2019-04-25 16:22:46

标签: sql regex postgresql

  1. ABCD9876S__9999.A001
  2. ABCD9876S__9999.A002

    • 总是从ABCD开始
    • 接着是数字和字母
    • 后跟两个下划线__
    • 其后为9999.A00 1或2

我想使用reg ex捕获以上两个字符串

我有:

ABCD.*9999\.A00[12]

这在Postgres中不起作用。我该如何转换呢?有在线工具吗?

1 个答案:

答案 0 :(得分:2)

您可以使用字符类指定要允许的字符范围,并添加要加入匹配项的双底线。

ABCD[a-zA-Z0-9]+__9999\.A00[12]

如果匹配应从字符串的开头开始,请使用锚点^$

查看postgre sql demo 1 | demo 2使用regexp_matches