BigQuery REGEXP_EXTRACT return 空

BigQuery REGEXP_EXTRACT return null

from google analytics export 我正在尝试使用下一个查询从 trafficSource.campaign 字段中提取最后一个数字:

SELECT
 REGEXP_EXTRACT(trafficSource.campaign,r':(\d+$)') as campaign,
FROM
  [95677969.ga_sessions_20160109] AS results,
WHERE
  hits.type IN ('TRANSACTION','PAGE')

此查询在 UI 中运行良好,每行返回的数字都与 reg 表达式匹配,但是当我在我的脚本中复制粘贴此查询时,总是返回空值。

trafficSource.campaign 值是这样的:

_dfa_107202:4637224:8531522

请问有人能帮帮我吗?

转义是这里的问题。

当您为 BigQuery 提供如下内容时:

SELECT COUNT(*) FROM [publicdata:samples.shakespeare] WHERE REGEXP_MATCH(word, r'^\w$')

这将在 BigQuery UI 中正常工作(结果为 283)。但是,如果您将相同的字符串复制到您最喜欢的编程语言中,它可能会尝试将 \ 读取为它的转义字符之一,因此您将不得不对其进行双重转义 - 或者想出一种替代方法来提供它您的脚本解释器未更改的字符串。