2017-09-26 28 views
0

我想使用Google Analytics过滤器从传入的URI中删除电子邮件地址。我正在使用自定义高级过滤器,在请求URI的RegEx上过滤字段A,并稍后替换相应的部分。但是,我的RegEx似乎不能正常工作。它应该找到电子邮件地址,不仅在使用'@'的情况下,而且在'(at)','%40'或'$ 0040'用于表示'@'的情况下也是如此。正则表达式在Google Analytics中过滤来自网址的电子邮件地址

我最新的RegEx版本(见下文)仍然允许'$ 0040'通过未被发现。有人能告诉我要改变什么吗?

^(.*)=([A-Z0-9._%+-]+[@|[\(at\)]|[\$0040]|[\%40]][A-Z0-9.-]+\.[A-Z]{2,4})(.*)$ 
+0

尝试['=([A-ZA-Z0-9 ._%+ - ] +(@ | \(在\)| [$] 0040 | \%40)[A-ZA -z0-9.-] + \。[A-ZA-Z] {2,4})'](https://regex101.com/r/Ica4jZ/2)。如果你需要匹配整个字符串,你可以用'^(。*)'和'(。*)$'保持这个模式。 –

+0

非常感谢。我的第一个测试表明它应该做到这一点,但GA一直都是调整这些东西的特殊方法,所以我会再次审查收集到的数据。 ; ) –

回答

0

我建议使用

([A-Za-z0-9._%+-]+(@|\(at\)|[$]0040|\%40)[A-Za-z0-9.-]+\.[A‌​-Za-z]{2,4}) 

regex demo

如果您需要匹配整个字符串,则可以使用^(.*)(.*)$保留该模式。

详细

  • ([A-Za-z0-9._%+-]+(@|\(at\)|[$]0040|\%40)[A-Za-z0-9.-]+\.[A‌​-Za-z]{2,4}) - 第1组捕获
    • [A-Za-z0-9._%+-]+ - 1以上ASCII字母/数字,._%+,或-
    • (@|\(at\)|[$]0040|\%40) - 的一个替代品:@,(at),$0040%40
    • [A-Za-z0-9.-]+ - 1以上ASCII字母/数字,.-
    • \. - 点
    • [A‌​-Za-z]{2,4} - 2至4个ASCII字符。
+0

谢谢。那做了这个工作。对于我的目标,我实际上必须删除'='。我想我以前的正则表达式的目标是仅仅屏蔽UTM代码,而不是整个URL。 –

+0

@KoljaSiegmund:很高兴为你效劳。请考虑通过点击左侧的✓接受答案(请参阅[如何接受所​​有答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work))。 –