提取字符串和 BigQuery 中第一次出现的字符之间的字符

时间:2021-06-01 21:55:09

标签: sql google-bigquery

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

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

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

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

1 个答案:

答案 0 :(得分:0)

您可以像这样使用 regexp_extract()

regexp_extract(string, 'u1=([^;]+)')
相关问题