Google 分析过滤器的正则表达式
REGEX for Google Analytics Filters
我有一个 link 有很多参数,想排除其中的大部分(只保留一个)并用一个名字替换它
link 的结构如下:
https://www.abc.ab/something/somethingelse?card_type=status&a-bunch-of-trailing
Card_type 可以有不同的 "status" 值
理想情况下,我想保留:
https://www.abc.ab/something/somethingelse?card_type=status 并将 ?card_type=status 替换为“/card_type”
我在 GA 上试过这个:
搜索字符串
/*(.*?)\card_type\=*
替换字符串:
/card_type
但这根本不起作用
您可以匹配 ?card_type=
然后匹配任何字符 0+ 次 .*
如果它应该从字符串的开头开始您可以在开头使用锚点 ^
模式。
在替换中使用第一个捕获组,然后是替换字符串。
(.*?)\?card_type=.*
(.*?)
捕获组 1 匹配任意字符 0+ 次非贪婪
\?
通过转义匹配 ?
card_type=
字面匹配
.*
非贪婪匹配任何字符 0+ 次
替换为
/card_type
要更精确地匹配 url 而不是使用 .*?
,您可以匹配协议:
^(https?:\/\/\S+\/[^?]*)\?card_type=.*
我有一个 link 有很多参数,想排除其中的大部分(只保留一个)并用一个名字替换它
link 的结构如下: https://www.abc.ab/something/somethingelse?card_type=status&a-bunch-of-trailing
Card_type 可以有不同的 "status" 值
理想情况下,我想保留: https://www.abc.ab/something/somethingelse?card_type=status 并将 ?card_type=status 替换为“/card_type”
我在 GA 上试过这个:
搜索字符串
/*(.*?)\card_type\=*
替换字符串: /card_type
但这根本不起作用
您可以匹配 ?card_type=
然后匹配任何字符 0+ 次 .*
如果它应该从字符串的开头开始您可以在开头使用锚点 ^
模式。
在替换中使用第一个捕获组,然后是替换字符串。
(.*?)\?card_type=.*
(.*?)
捕获组 1 匹配任意字符 0+ 次非贪婪\?
通过转义匹配?
card_type=
字面匹配.*
非贪婪匹配任何字符 0+ 次
替换为
/card_type
要更精确地匹配 url 而不是使用 .*?
,您可以匹配协议:
^(https?:\/\/\S+\/[^?]*)\?card_type=.*