如何使用 Google Data Studio 中的 REGEXP_EXTRACT 从 URL 路径中提取年份?
How to extract the year from a URL path using REGEXP_EXTRACT in Google Data Studio?
我正在构建一个 Google Data Studio 仪表板,我需要为 post 发布的年份创建一个计算字段。年份在 URI 路径中,但我不确定如何使用 REGEXP_EXTRACT
提取它。我已经尝试了此处提出的许多解决方案,但其中 none 似乎适用于 Data Studio。
简而言之,我有这样一个 URI:/theme/2019/jan/blog-post-2019/
如何使用REGEXP_EXTRACT
函数获取theme/
之后/jan
之前的第一个2019?
试试这个:
REGEXP_EXTRACT(Page, 'theme\/([0-9]{4})\/[a-z]{3}\/')
其中:
theme\/
字面意思是 "theme/";
([0-9]{4})
是一个capturing group包含4个字符从0到9(即四位数);
\/[a-z]{3}\/
表示一个斜线,后跟 3 个小写字母(假设您希望正则表达式匹配所有月份),然后是另一个斜线。如果您想要更严格的限制,请尝试在最后一部分使用 \/(?:jan|feb|mar|...)\/
。
参见 demo。
如您所述,我认为您只想提取字符串之间的年份。以下将为您实现。
根据您的需要进行查询
SELECT *
FROM Sample_table
WHERE REGEXP_EXTRACT(url, "(?<=\/theme\/)(?<year>\d{4})(?=\/[a-zA-Z]{3})")
我正在构建一个 Google Data Studio 仪表板,我需要为 post 发布的年份创建一个计算字段。年份在 URI 路径中,但我不确定如何使用 REGEXP_EXTRACT
提取它。我已经尝试了此处提出的许多解决方案,但其中 none 似乎适用于 Data Studio。
简而言之,我有这样一个 URI:/theme/2019/jan/blog-post-2019/
如何使用REGEXP_EXTRACT
函数获取theme/
之后/jan
之前的第一个2019?
试试这个:
REGEXP_EXTRACT(Page, 'theme\/([0-9]{4})\/[a-z]{3}\/')
其中:
theme\/
字面意思是 "theme/";([0-9]{4})
是一个capturing group包含4个字符从0到9(即四位数);\/[a-z]{3}\/
表示一个斜线,后跟 3 个小写字母(假设您希望正则表达式匹配所有月份),然后是另一个斜线。如果您想要更严格的限制,请尝试在最后一部分使用\/(?:jan|feb|mar|...)\/
。
参见 demo。
如您所述,我认为您只想提取字符串之间的年份。以下将为您实现。
根据您的需要进行查询
SELECT *
FROM Sample_table
WHERE REGEXP_EXTRACT(url, "(?<=\/theme\/)(?<year>\d{4})(?=\/[a-zA-Z]{3})")