2017-09-26 27 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))。 –