【问题标题】:Regex- Extract occurrence between to delimiters正则表达式 - 提取分隔符之间的出现
【发布时间】:2017-08-30 20:20:37
【问题描述】:

如何提取此模式中的后续出现:

123|xx3|1x23|1x2x3|x123x|123x

例如,我只想提取第 3 次出现,我尝试使用:

(?:.*?\\|){3}(.*)

但它从第 3 次出现以及之后的所有内容中提取。

【问题讨论】:

    标签: regex google-data-studio re2


    【解决方案1】:

    REGEXP_EXTRACT 参考展示了一个使用捕获组来提取您需要的字符串部分的示例。

    所以,匹配到第 3 部分,然后捕获第 3 个值:

    ^(?:[^|]*[|]){2}([^|]*)
    

    这是一个demo,绿色突出显示的部分将被提取。

    详情

    • ^ - 字符串开头
    • (?:[^|]*[|]){2} - 出现 2 次:
      • [^|]* - 除| 之外的零个或多个字符
      • [|] - | 管道符号
    • ([^|]*) - 第 1 组:| 以外的零个或多个字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      相关资源
      最近更新 更多