我正在尝试构建一个匹配多个字符的正则表达式来替换它们。
我有一个PHP工作模式,如下所示:
/([\{\}\"])*/g
但不幸的是,它似乎与Postgres无关。
有人可以帮忙吗?
以下是我正在尝试构建的请求:
SELECT
regexp_replace(array_agg(DISTINCT columnName)::TEXT, '/([\{\}\"])*/g', '')
FROM tableName
WHERE ...
答案 0 :(得分:4)
不确定你的正则表达式中/
和/g
是什么,如果这是一个分隔符,那么" global"标志,然后你不能在Postgres中的正则表达式中指定。在Postgres中,这将是函数的额外参数:
regexp_replace(array_agg(DISTINCT columnName)::TEXT, '([\{\}\"])*', '', 'g')
但看起来你正在尝试连接字符串。如果这是真的,我认为你真的想要:
string_agg(distinct columnName, '')