我在Postgres中有一个场景,我需要在多组方括号之间收集所有条目。
以下示例将是我希望捕获的:
SELECT (regexp_matches('Hello [World] How [Are] You','[(.*?)]'))
但这只是返回
{World}
忽略第二个部分。
在常规的正则态度中,这似乎有效,所以我不确定为什么它在这里失败。
理想情况下,我想将结果归还为CSV文本字符串。例如
World,Are
但我似乎找不到正确的查询。
任何输入。谢谢。
您必须使用'g'标志
SELECT (regexp_matches('Hello [World] How [Are] You','[(.*?)]','g'))
" g"标志表示应测试正则表达式 在字符串中对所有可能的匹配。