BigQuery 正则表达式提取
Posted
技术标签:
【中文标题】BigQuery 正则表达式提取【英文标题】:BigQuery regex extraction 【发布时间】:2020-07-28 16:23:24 【问题描述】:我正在尝试从在常规正则表达式中有效但在 BigQuery 中无效的 URL 中提取 sample_type 字段
这个正则表达式在 regex101.com 的在线工具中运行良好:(?<=sample_type=)[\w_]+
提取单词 apple,但似乎不适用于 BQ。获取 BQ 的 sample_type 之后的正确方法是什么?
SELECT REGEXP_EXTRACT('asdfasdfjsklfjasdf/info?sample_type=apple', r'sample_type=\w_+')
【问题讨论】:
请注意,\w
也匹配 _
和 \w_+
匹配单个单词 char 后跟 1 个或多个下划线。
【参考方案1】:
您应该使用sample_type=(\w+)
作为正则表达式,如下例所示
SELECT REGEXP_EXTRACT('asdfasdfjsklfjasdf/info?sample_type=apple', r'sample_type=(\w+)')
【讨论】:
以上是关于BigQuery 正则表达式提取的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式:在 Google Bigquery 中提取正斜杠后的所有内容?