在Google Analytics(分析)中使用正则表达式过滤出包含一个字符串但不包含另一个字符串的URL

时间:2019-03-18 21:48:34

标签: regex google-analytics regex-negation regex-lookarounds regex-group

您会发现这个简单而愚蠢的问题,但事实并非如此。请大家在这里帮助我。

我设置了以下两种格式的URL:-

https://lenskart.sg/collections/abc/products/xyz

https://lenskart.sg/collections/abc/xyz

我只需要包含单词“ collections”(用双引号突出显示该单词)而不包含单词“ products”的URL。

如何为此编写regex(正则表达式)?

PS:-我需要使用Regex过滤掉Google Analytics(分析)中的网址。到目前为止,我得出的最好的表达式是:-(collections /)(\ w +)(/)(?! products)但是Google Analytics(分析)将其显示为无效的正则表达式。在其他正则表达式测试工具中。可能是Google Analytics(分析)不接受否定先行。以下是很少几个网址可以支持相同的网址:-Google Analytics Regex - Alternative to no negative lookahead https://www.reddit.com/r/analytics/comments/5v6q4i/regex_expression_for_does_not_contain/ https://recalll.co/?q=negative%20lookahead%20-%20Google%20Analytics%20look%20ahead&type=code

请大家在这里帮助我。对我来说是个大问题

2 个答案:

答案 0 :(得分:0)

我认为您根本不需要一个复杂的正则表达式,一个include和随后的exclude过滤器就足够了。

执行一个include过滤器,选择请求url als过滤器字段,并选择“ / collections /”作为过滤器模式。这将消除所有路径中没有“ / collections /”的Urls(或者换句话说,它将仅包括与模式匹配的Urls)。

然后(顺序很重要)执行和排除过滤器,选择请求网址作为过滤器字段,然后输入“ / products”作为模式。

过滤器按照在视图设置中显示的顺序应用。每个后续过滤器将处理先前过滤器返回的数据。因此,通常更容易在多个过滤器之间分配工作。

这是假设您正在视图设置中进行过滤,但是坦率地说,如果这是报表中的过滤器,则其工作方式基本上相同(您必须单击过滤器框旁边的“高级”链接才能访问多个过滤条件,“请求网址”在此称为“页面”,但基本上相同)。

报表中的过滤器不支持否定的前瞻,即(永久)view filters allegedly do

答案 1 :(得分:0)

^\/lenskart\.sg\/collections\/abc((?!\/products).)*$

我不是专家,但是上述RegEx可以通过匹配第一个和第三个URL而不是中间的URL来满足以下要求。

/lenskart.sg/collections/abc/ /lenskart.sg/collections/abc/products/xyz /lenskart.sg/collections/abc/services