我正在尝试在谷歌分析中设置一个自定义的高级过滤器,以便在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}
。