使用 REGEXP 从 URL 中提取斜线之间的特定文本
Using REGEXP to extract specific text between slashes from URL
我们开始使用 Google Data Studio 来可视化我们的数据,我们需要 RegEx 来帮助我们从系统的 URL 列表中提取特定的文本片段。
URL 示例:
/town/articletype/46646-this-is-an-example-article
我们需要通过使用 RegEx 从 URL 获得什么:
/town/
(没有斜杠,如果可能的话,最终将第一个字母大写)
/articletype/
(也没有斜线)
/46646-
(没有/和-&&这是我们也需要的文章ID)
-this-is-an-example-article
(不带“-”且首字母大写)
我们尝试了很多正则表达式,并设法通过使用以下计算字段从 URL 中提取 /town/
:
REGEXP_EXTRACT(Page , '/(.*?)(/)')
下面的 4 个 Calculated Fields 可以解决问题:
1) 城镇
CONCAT(UPPER(REGEXP_EXTRACT(Page , "^/(\w{1})")), LOWER(REGEXP_EXTRACT(Page , "^/\w{1}([^/]*)")))
2) 文章类型
REGEXP_EXTRACT(Page , "^/\w+/([^/]*)")
3) 46646
REGEXP_EXTRACT(Page , "^/\w+/\w+/([^-]*)")
4) 这是一篇示例文章
CONCAT(UPPER(REGEXP_EXTRACT(Page , "/\w+/\w+/\d+-(\w{1}).*$")), LOWER(REGEXP_REPLACE(REGEXP_EXTRACT(Page , "/\w+/\w+/\d+-\w{1}(.*)$"), "-", " ")))
Google Data Studio Report 和一张 GIF 来详细说明:
我们开始使用 Google Data Studio 来可视化我们的数据,我们需要 RegEx 来帮助我们从系统的 URL 列表中提取特定的文本片段。
URL 示例:
/town/articletype/46646-this-is-an-example-article
我们需要通过使用 RegEx 从 URL 获得什么:
/town/
(没有斜杠,如果可能的话,最终将第一个字母大写)/articletype/
(也没有斜线)/46646-
(没有/和-&&这是我们也需要的文章ID)-this-is-an-example-article
(不带“-”且首字母大写)
我们尝试了很多正则表达式,并设法通过使用以下计算字段从 URL 中提取 /town/
:
REGEXP_EXTRACT(Page , '/(.*?)(/)')
下面的 4 个 Calculated Fields 可以解决问题:
1) 城镇
CONCAT(UPPER(REGEXP_EXTRACT(Page , "^/(\w{1})")), LOWER(REGEXP_EXTRACT(Page , "^/\w{1}([^/]*)")))
2) 文章类型
REGEXP_EXTRACT(Page , "^/\w+/([^/]*)")
3) 46646
REGEXP_EXTRACT(Page , "^/\w+/\w+/([^-]*)")
4) 这是一篇示例文章
CONCAT(UPPER(REGEXP_EXTRACT(Page , "/\w+/\w+/\d+-(\w{1}).*$")), LOWER(REGEXP_REPLACE(REGEXP_EXTRACT(Page , "/\w+/\w+/\d+-\w{1}(.*)$"), "-", " ")))
Google Data Studio Report 和一张 GIF 来详细说明: