谷歌分析高级自定义过滤器中的正则表达式无法按预期工作



我正在尝试在谷歌分析中设置一个自定义的高级过滤器,以便在URL中设置另一个参数(id=ticket(时从URL中删除特定的查询参数(sys_id(。

例如,我想要这个网址:

/sp?id=ticket&table=incident&sys_id=cb7a9061db05c300d70a38ff9d9619f8

捕获为:

/sp?id=ticket&table=incident

在我的自定义高级过滤器中,我将字段 A -> 提取 A 设置为使用正则表达式请求 URI(.*id=ticket.*)(&sys_id=(w|d){32})($|&.*)

输出到 -> 构造函数中,我已将请求 URI 设置为 $A1$A3

结果:谷歌分析正在记录/sp?id=ticket&table=incident8

为什么我在字符串末尾获得最后一个字符(上面示例中的8(,以及如何摆脱它以获得我想要的输出?

模式中(w|d){32}的第三个捕获组是重复的捕获组,它将上次捕获的值存储在组内存缓冲区(测试用例中的8(中。

由于w已经匹配数字,因此您甚至不需要交替组。您可以安全地将(w|d){32}替换为w{32}

最新更新