如何使用Google Data Studio中的REGEXP_EXTRACT从URL路径中提取年份?

时间:2019-04-02 13:21:08

标签: regex uri google-data-studio

我正在构建一个Google Data Studio仪表板,我需要为发布该帖子的年份创建一个计算字段。年份位于URI路径中,但是我不确定如何使用REGEXP_EXTRACT提取年份。我尝试了此处提出的许多解决方案,但似乎都无法在Data Studio上使用。

简而言之,我有一个像这样的URI:/theme/2019/jan/blog-post-2019/

如何使用REGEXP_EXTRACT函数获得theme/之后和/jan之前的第一个2019?

2 个答案:

答案 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})")