使用REGEXP从URL中提取斜杠之间的特定文本
我们开始使用GoogleDataStudio来可视化我们的数据,我们需要正则表达式来帮助我们从系统的URL列表中提取特定的文本 URL示例:使用REGEXP从URL中提取斜杠之间的特定文本,regex,google-data-studio,re2,Regex,Google Data Studio,Re2,我们开始使用GoogleDataStudio来可视化我们的数据,我们需要正则表达式来帮助我们从系统的URL列表中提取特定的文本 URL示例: /town/articletype/46646-this-is-an-example-article 通过使用正则表达式,我们需要从URL获得什么: /town/(不带斜杠,如果可能,最后大写第一个字母) /articletype/(也不带斜杠) /46646-(不带/和-&&这是我们还需要的文章ID) -这是一篇示例文章(不带“-”和大写首字母)
/town/articletype/46646-this-is-an-example-article
通过使用正则表达式,我们需要从URL获得什么:
(不带斜杠,如果可能,最后大写第一个字母)/town/
(也不带斜杠)/articletype/
(不带/和-&&这是我们还需要的文章ID)/46646-
(不带“-”和大写首字母)-这是一篇示例文章
/town/
:
REGEXP_EXTRACT(Page , '/(.*?)(/)')
下面的4种方法可以实现这一目的:
1)城镇
CONCAT(UPPER(REGEXP_EXTRACT(Page , "^/(\\w{1})")), LOWER(REGEXP_EXTRACT(Page , "^/\\w{1}([^/]*)")))
2)文章类型
REGEXP_EXTRACT(Page , "^/\\w+/([^/]*)")
CONCAT(UPPER(REGEXP_EXTRACT(Page , "/\\w+/\\w+/\\d+-(\\w{1}).*$")), LOWER(REGEXP_REPLACE(REGEXP_EXTRACT(Page , "/\\w+/\\w+/\\d+-\\w{1}(.*)$"), "-", " ")))
3)46646
REGEXP_EXTRACT(Page , "^/\\w+/\\w+/([^-]*)")
4)这是一篇示例文章
REGEXP_EXTRACT(Page , "^/\\w+/([^/]*)")
CONCAT(UPPER(REGEXP_EXTRACT(Page , "/\\w+/\\w+/\\d+-(\\w{1}).*$")), LOWER(REGEXP_REPLACE(REGEXP_EXTRACT(Page , "/\\w+/\\w+/\\d+-\\w{1}(.*)$"), "-", " ")))
和一个GIF来详细说明:
如果我们可以考虑URL总是遵循该格式,这个表达式将给你包含你的URL的每个部分的4个组:<代码> ^ \ /([AZZ+)\/([AZZ+)\/([09] +)-(\s+)$。现在,关于删除
-
并大写,我建议您使用正则表达式以外的其他方法来实现。Gerep,谢谢,这太棒了!我认为我们不能根据需要使用组,我们最好的方法是对URL的每个部分使用单独的表达式。我设法使它适用于城镇、文章ID和文章名称,但无法适用于文章类型。我不确定我错过了什么。只是想澄清一下:TOWN:^\/([a-z]+)\/---文章ID:([0-9]+)---文章名称:-(\S+)$。因为TOWN和文章类型具有相同的模式,最好是按照@Gerep的建议立即匹配它们。或者,如果必须单独使用,可以使用带有g标志的城镇模式,并获得第二个匹配项。