zen*_*n.c 6 regex google-analytics filter
我有2个登陆页面:
/aa/index.php/aa/index/[sessionID]/alpha
/bb/index.php/bb/index/[sessionID]/bravo
Run Code Online (Sandbox Code Playgroud)
由于sessionID是唯一的,因此每个着陆页都将作为不同的页面进行跟踪.因此,我需要一个过滤器来删除sessionID.这些是我想跟踪的:
/aa/index.php/aa/index/alpha
/bb/index.php/bb/index/bravo
Run Code Online (Sandbox Code Playgroud)
我在请求URI上创建了搜索和替换自定义过滤器:
Search String: /(aa|bb)/index\.php/(aa|bb)/index/(.*)
Replace String: /$1/index.php/$2/index/$3
Run Code Online (Sandbox Code Playgroud)
但是我/$1/index.php/$2/index/$3第二天就在仪表板上报告了.所以我试过,/\1/index.php/\2/index/\3但结果非常奇怪//aa/index.php/aa/index/alpha/index.php/aa/index/aa.
有谁知道如何引用替换字符串中的分组模式?
我的解决方案: 我设法使用高级过滤器来解决它.我的解决方案
Field A => Request URI: /(aa|bb)/index\.php/(aa|bb)/index/(.*)/(.*)
Field B => -
Output to => Request URI: /$A1/index.php/$A2/index/$A4
Run Code Online (Sandbox Code Playgroud)
我没有使用 Google Analytics 正则表达式引擎,但在我看来,它\1引用了整个匹配(在其他正则表达式实现中称为\0),而\2是第一组,\3是第二组,依此类推。
然而,您最初的正则表达式看起来不完整——我认为它应该如下所示:
Search String: /(aa|bb)/index\.php/(aa|bb)/index(/.*)/(alpha|bravo)
Replace String: /\2/index.php/\3/index/\5
Run Code Online (Sandbox Code Playgroud)
(请注意,我不确定?此正则表达式实现中是否支持非贪婪修饰符,但如果是,则如果更改/.*为,上面的搜索字符串模式可能会运行得更快一些/.*?。)