PostgreSQL REGEX返回多个值



我在Postgres中有一个场景,我需要在多组方括号之间收集所有条目。

以下示例将是我希望捕获的:

SELECT (regexp_matches('Hello [World] How [Are] You','[(.*?)]')) 

但这只是返回

{World}

忽略第二个部分。

在常规的正则态度中,这似乎有效,所以我不确定为什么它在这里失败。

理想情况下,我想将结果归还为CSV文本字符串。例如

World,Are

但我似乎找不到正确的查询。

任何输入。谢谢。

您必须使用'g'标志

SELECT (regexp_matches('Hello [World] How [Are] You','[(.*?)]','g'))

" g"标志表示应测试正则表达式 在字符串中对所有可能的匹配。

最新更新