在Google Analytics中搜索和替换请求URI过滤器

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)

Kyl*_*and 1

我没有使用 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)

(请注意,我不确定?此正则表达式实现中是否支持非贪婪修饰符,但如果是,则如果更改/.*为,上面的搜索字符串模式可能会运行得更快一些/.*?。)