您会发现这个简单而愚蠢的问题,但事实并非如此。请大家在这里帮助我。
我设置了以下两种格式的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
请大家在这里帮助我。对我来说是个大问题
答案 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