Ответы пользователя по тегу Регулярные выражения
  • Как найти все почтовые адреса посредствам регулярных выражений?

    @sphinx2001
    Взял за основу регулярку MadInc и вот скрипт который показывает адреса без дублей

    import urllib.request
    import re
    
    def lineHasEmail(line):
    	if str(line).find('@') != -1:
    		return True
    	else:
    		return False
    
    def parseMails():
    	mails = {}
    	url = 'http://dfedorov.spb.ru/python/files/mbox-short.txt'
    	with urllib.request.urlopen(url) as webpage:
    		for i in webpage:
    			line = str(i)
    			if lineHasEmail(line):
    				mail = re.findall(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b', line) 
    				for m in mail:
    					mails[m] = ''
    				#print(mail, str(line))
    	for mail in mails:
    		print(mail)
    
    if __name__ == "__main__":
    	parseMails()
    Ответ написан
    Комментировать