如何在Snowflake中使用正则表达式提取URL子串
解决方案
- 要从动态URL路径中提取目标字符串,可使用Snowflake的
REGEXP_SUBSTR函数配合正则表达式实现。 - 针对你的URL格式,正则表达式可匹配倒数第二个斜杠与最后一个斜杠之间的内容,具体SQL修改如下:
select REGEXP_SUBSTR(parse_url(c1:uri):path, '^.+/([^/]+)/[^/]+$', 1, 1, 'e') as ARTICLE_SLUG, count(1) as CNT from "OPE_RAW_DATA"."TAGGER_DEFAULT"."INTERACTION_20221107" where c1:uri like '%www.kens5.com%' group by ARTICLE_SLUG order by CNT desc
正则逻辑说明
^.+/:匹配从路径开头到倒数第二个斜杠的所有内容([^/]+):捕获组,匹配不含斜杠的连续字符串(即你需要提取的目标内容)/[^/]+$:匹配最后一个斜杠到路径结尾的内容
通过上述表达式能精准提取URL路径中倒数第二段的文章标识,分组统计时直接基于提取后的字段即可完成需求。
内容的提问来源于stack exchange,提问作者anmol
相关产品推荐
相关产品推荐

