数据洞察正则表达式 - 排除 www

问题描述

使用谷歌数据洞察,我有一个正则表达式;

REGEXP_EXTRACT( Page,'.*/(.*)/' )

是我目前使用的。正在将页面变量重新创建为最后一页路径,但我需要确保该页面不包含“www”。

欢迎提出任何想法或建议。

解决方法

如果您可以接受没有预期结果的空匹配项,您可以利用 REGEXP_EXTRACT 仅返回一个捕获组值这一事实。因此,您可以在需要获得的替代方案之前指定替代方案,而无需在那里使用捕获组。

REGEXP_EXTRACT( Page,'.*www.*|.*/(.*)/' )

这个模式会匹配并消耗一个包含www的字符串,如果没有www,则触发第二个选择,如果有两个斜杠,你会得到之间的值最右边的两个斜线。

如果您还需要跳过包含 http 的字符串,只需将 www 替换为 (?:www|http),一个匹配 wwwhttp 的非捕获组:

REGEXP_EXTRACT( Page,'.*(?:http|www).*|.*/(.*)/' )