我想使用正则表达式在“u1=”和第一个分号之间提取一组字符。例如,给定以下字符串:id=1w54;name=nick;u1=blue;u2=male;u3=ohio;u5=
所需的正则表达式输出应该只是 blue
。
我在 https://regex101.com 上测试了 (?<=u1=)[^;]*
并且它有效。但是,当我在 BigQuery 中使用 regexp_extract(string, '(?<=u1=)[^;]*')
运行它时,我收到一条错误消息“无法解析正则表达式:无效的 perl 运算符:(?<”
我很困惑为什么这在 BQ 中不起作用。任何帮助将不胜感激。
答案 0 :(得分:0)
您可以像这样使用 regexp_extract()
:
regexp_extract(string, 'u1=([^;]+)')