我需要一個正則表達式來模糊我擁有的數據庫轉儲文件中的電子郵件。我想用像@fake.com
這樣的域名替換所有域名,所以我不會冒險在開發過程中向真人發送電子郵件。電子郵件必須是唯一的以匹配數據庫限制,所以我只想替換域名並保留用戶名。正則表達式來替換電子郵件地址域?
我現在有這樣的正則表達式查找電子郵件
\b[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}\b
如何轉換這個搜索的正則表達式爲正則表達式我可以在查找中使用,並在任何崇高的文本或SED或Vim的替換操作?
編輯:
剛一說明,我才意識到,我可以替代由@[A-Z0-9.-]+\.[A-Z]{2,4}\b
在這種情況下找到的所有字符串,但在學術上我仍然有興趣,你可以如何對待電子郵件正則表達式的每個部分作爲令牌並單獨替換用戶名/域。
搜索和查找替換正則表達式之間沒有區別,是嗎?如果你想正確地完成這項工作,你可能想看看[這裏](http://www.regular-expressions.info/email.html)。 –
@ m.buettner,雖然不存在,但是我不需要將電子郵件地址分離出來作爲標記並替換特定的標記,因此我不會替換整個電子郵件地址? –
如果可以假定「@」不出現在其他上下文中,那麼只能搜索域('@ ....')並替換它。您也可以使用捕獲組和反向引用。 – nhahtdh