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