【问题标题】:Postgresql regex to return multiple valuesPostgresql 正则表达式返回多个值
【发布时间】:2015-05-14 14:36:28
【问题描述】:

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

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

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

但这只是返回

{World}

忽略第二个 [Are] 部分。

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

理想情况下,我想将结果作为 csv 文本字符串返回。 例如

World,Are

但我似乎找不到合适的查询来执行此操作。

任何意见表示赞赏。谢谢。

【问题讨论】:

    标签: sql regex postgresql


    【解决方案1】:

    你必须使用'g'标志

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

    “g”标志表示应该测试正则表达式 针对字符串中所有可能的匹配项。

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 2013-05-19
      • 1970-01-01
      相关资源
      最近更新 更多