[英]RegEx - Looking for emails inside of a log file
我正在尋找一個正則表達式,它將測試是否與字符串匹配,例如:
mxtreme1.log:5月12日07:00:00 10.1.1.175 postfix / cleanup [48145]:C2C9FFA730:fullname =, 發件人= LOGINNAME @ company.com ,來自= LOGINNAME @ company.com ,recip = LOGINNAME @ company.com ,優先級=,as_score = 0,as_strategy = M,代碼= W,操作= FFFFFFFFFFFTFFFFFFFFFF,分析= F000FFF000TTT000F000TFT000000TTSS3000059900033-F1F-FF00000000F000FFF000000000000F1FFF000F000
其中整個粗體部分都是匹配項,但LOGINNAME可以是任意數量的隨機字符。
任何幫助將不勝感激,謝謝,
就像這樣:
sender=[^@]+@company\.com
(您明確地指出,只有LOGINNAME部分是可變的。)
為了測試以上所有解決方案,我個人非常喜歡使用“ Regex教練”
只是谷歌搜索該字符串和它的一個很好的服務我的免費軟件。
PS:我對產品或制造它的團隊沒有所有權,也沒有任何既得利益。
我很確定在電子郵件地址中逗號不是有效的,因此只要后面總是逗號,您應該可以通過以下方式獲得它:
/(sender=[^,]+?),/
您可以嘗試以下方法:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$
但是請看這篇文章,以了解為什么RegEx和電子郵件地址有問題。
這也是添加SENDER =:
^[\w]+=[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.