捕捉重复组我有一个邮件日志文件,该文件是这样的:在python正则表达式
Aug 15 00:01:06 **** sm-mta*** to=<[email protected]>,<[email protected]>,[email protected], some_more_stuff
Aug 16 13:16:09 **** sendmail*** to=<[email protected]>, some_more_stuff
Aug 17 11:14:48 **** sm-mta*** to=<[email protected]>,<[email protected]>, some_more_stuff
我要的是所有的邮件主机中含有“SM-MTA”线列表。在这种情况下,这将是:['gmail.com', 'yahoo.com', 'aol.com', 'gmail.com', gmail.com']
re.findall(r'sm-mta.*[email protected](.*?)[>, ]')
将返回每个匹配行(['gmail.com','gmail.com']
)
re.findall(r'[email protected](.*?)[>, ]')
将返回正确的列表中只有第一台主机,但我需要过滤了。有没有解决这个问题的方法?
你可以试试这个https://eval.in/875159 –