【问题标题】:Extract characters between a string and the first occurrence of something in BigQuery在 BigQuery 中提取字符串和第一次出现的内容之间的字符
【发布时间】:2021-06-01 21:55:09
【问题描述】:

我想使用正则表达式提取“u1=”和第一个分号之间的一组字符。例如,给定以下字符串:id=1w54;name=nick;u1=blue;u2=male;u3=ohio;u5=

所需的正则表达式输出应该只是blue

我在https://regex101.com 上测试了(?<=u1=)[^;]*,它可以工作。但是,当我在 BigQuery 中使用 regexp_extract(string, '(?<=u1=)[^;]*') 运行此程序时,我收到一条错误消息,显示为“无法解析正则表达式:无效的 perl 运算符:(?

我很困惑为什么这在 BQ 中不起作用。任何帮助将不胜感激。

【问题讨论】:

    标签: sql google-bigquery


    【解决方案1】:

    你可以像这样使用regexp_extract()

    regexp_extract(string, 'u1=([^;]+)')
    

    【讨论】:

      猜你喜欢
      • 2017-08-20
      • 1970-01-01
      • 2014-07-10
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      相关资源
      最近更新 更多