跟踪Google Analytics中包含和不包含斜杠的子文件夹

时间:2016-07-05 08:55:36

标签: regex google-analytics

我想跟踪Google Analytics中的子文件夹,这些子文件夹分为一到五个级别。

另外一个障碍是,子文件夹不会在100%的情况下拥有尾随斜杠,我需要跟踪它们的两种类型,有和没有尾随斜杠,仅基于子文件夹级别,也/ ​​a-1 /和/ a-1,/ a-1 / b-2 /和/ a-1 / b-2等。

文件夹看起来像/ a-1 /和/ a-1,/ a-1 / b-2 /和/ a-1 / b-2,/ a-1 / b-2 / c-3 /和/ a-1 / b-2 / c-3,/ a-1 / b-2 / c-3 / d-4 /和/ a-1 / b-2 / c-3 / d-4,/ a -1 / b-2 / c-3 / d-4 / e-5 /和/ a-1 / b-2 / c-3 / d-4 / e-5,我需要跟踪/ a -1 /和/ a-1等。

我的想法是计算斜杠以获得子文件夹的级别,然后明确是否存在traling斜杠或不获取bot变体。根据这个匹配两个子文件夹的想法,/ a / b /和/ a / b将包含两个规则:

  • 如果有3个斜杠且字符串以斜线
  • 结束
  • 如果有2个斜杠且字符串最终没有斜线

这一个(.*\/){3}\/$应该匹配字符串,它有3个斜杠,最后是斜杠,

另一个(.*\/){2}[^\/]$应该匹配字符串,它有2个斜杠并且最终没有斜线。

两条规则都不起作用,而不是单独使用,而不是与管道连接在一起,如(.*\/){3}\/$|(.*\/){2}[^\/]$ - 它们只匹配不期望的内容。

请指出解决方案,指向正确的方向。

1 个答案:

答案 0 :(得分:2)

对我来说这成了一个真正的规则:我几乎没有因为找到问题的解决方案而感到恼怒,并在StackOverflow上发布了一个问题,直接发布后我自己找到答案:)

嗯,一起完成工作的正则表达式有两个:第一个用于定义嵌套级别,第二个用于排除嵌套级别更高的定义。

例如,我们想在第二个嵌套级别创建一个匹配子文件夹的过滤器,使用和不使用尾部斜杠。它们看起来像/ a-1 / b-2 /和/ a1 / b-2

  1. 匹配所需的子文件夹:(/[^\s]+){2}?$
  2. 从较高的嵌套级别中排除子文件夹:(/[^\s]+){3}?$
  3. 为了使子文件夹统计信息始终易于使用,我们为每个过滤器组合创建了快捷方式。

    完成 - 享受!