[英]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.