我试图使用REGEXP_EXTRACT从两个斜杠之间的URL中提取产品名称。例如,我想从下面的URL中提取ace-5:
Www.abc.com/products/phone/ace-5/ www.abc.com/products/phones/ace-5/?cid=dm66363&bid www.abc.com/products/phones/ace-5/?fbclid=iwar30dpnmmpwppnla7 www.abc.com/products/phones/ace-5/?et_cid=em_367029&et_rid=130
我有一个RegEx来提取域名,但这不是我真正想要的东西。下面是RegEx:
REGEXP_EXTRACT(page,'^[^.]+.([^.]+)')给出了如下结果:abc
发布于 2019-11-04 13:22:25
假设产品名称总是固定的第四个path元素,我们可以尝试:
REGEXP_EXTRACT(page, '(?:[^\/]+\/){3}([^\/]+).*')或者,如果以上所述不起作用:
REGEXP_EXTRACT(page, '[^\/]+\/[^\/]+\/[^\/]+\/([^\/]+).*')以下是上述内容的演示:
发布于 2019-11-05 09:54:53
因为我和我的GDS没有相同的页面,但是我尝试用我的一组数据源(也就是来自google分析的页面)重新创建。
Use可以使用下面的内容,根据您的要求,在两个斜杠之后,您将得到所有的记录。
REGEXP_EXTRACT(Page,'[^/]+/[^/]+/([^/]+)')您需要使用此公式创建计算列,一旦创建了此计算列,您可能需要添加一个额外的筛选器,以删除具有null值的列。
示例页:“/products/phone/ace-5/”计算的列值为"ace-5“。
只需确保此正则表达式只会在电话/之后给出提取的单词/,如果在此之后没有任何记录,则作为回报,它将给您空值。
发布于 2020-02-17 11:10:39
下面的REGEXP_EXTRACT 计算场完成了这个任务,在第三个/之后提取所有字符,直到下一个/实例。
REGEXP_EXTRACT(Page, "^(?:[^/]+/){3}([^/]+)")报告和GIF将详细阐述

https://stackoverflow.com/questions/58694213
复制相似问题