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 正则表达式提取的主要内容,如果未能解决你的问题,请参考以下文章

Bigquery 正则表达式在多个空格后提取数字

拆分字符串,提取并添加到另一列正则表达式 BIGQUERY

BigQuery 正则表达式提取两个子字符串之间的字符串

正则表达式:在 Google Bigquery 中提取正斜杠后的所有内容?

在 Bigquery 中看到“数字 + 一个字母 + [逗号或空格]”后提取字符串的正则表达式

Bigquery 中数字+字母组合的正则表达式