【发布时间】:2021-05-21 15:05:39
【问题描述】:
我在 Google BigQuery 中使用 REGEXP_EXTRACT 函数从字符串中提取特定单词。虽然 regexp 在测试时效果很好,但函数 REGEXP_EXTRACT 在 Google BigQuery 中返回 null。
例如有字符串“RR_SM_Brand_A_Additive_Clean_jun2020”,我想从列表中提取一个值(Brand_A、Brand_B、Brand_C等)
当我测试 RegExp 时,我收到了正确的值 Brand_A:https://regexr.com/5tecm
正则表达式代码:Brand_A|Brand_B(感谢@Barmar)
但是当我在 Google BigQuery 中运行它时:
SELECT distinct utm_campaign, -- REGEXP_EXTRACT(utm_campaign, r"(?:Brand_A|Brand_B)") REGEXP_EXTRACT(utm_campaign, r"Brand_A|Brand_B") FROM project.dataset.table WHERE utm_campaign = "RB_Display_Brand_A_Botanica_2020"
我收到“此查询未返回任何结果。”,而不是预期的 Brand_A 值。
注意:BigQuery 不会返回“无法解析正则表达式:无效的 perl 运算符:(?"duplicate"
【问题讨论】:
标签: regex google-bigquery