在SUBSTRING函数中使用OR条件的PostgreSQL正则表达式

时间:2014-12-15 09:28:21

标签: regex postgresql

我想通过使用regexp识别PostgreSQL中的TIMESTAMP:

SELECT substring('13:14:00', '([0-1][0-9]|2[0-3]):[0-5]\d:[0-5]\d')

此查询返回13,但我需要收到结果13:14:00

类比查询SELECT substring('134', '1(2|3)4')返回3而不是134

那么,问题是什么?我的psql版本是9.3.1。

1 个答案:

答案 0 :(得分:2)

添加括号:

  SELECT substring('13:14:00', '(([0-1][0-9]|2[0-3]):[0-5]\d:[0-5]\d)');