Regex cherche email dans un fichier texte.

Regex cherche email dans un fichier texte. - Perl - Programmation

Marsh Posté le 29-10-2009 à 18:06:31    

Bonjour,
 
Voila j'utilise en ce moment un fichier perl (qui n'est pas de moi) et qui extrait toutes les adresse email d'un fichier vers un autre fichiers texte. J'aimerais bien le modifier pour qu'il ne filtre plus que les adresses hotmail.
 
le regex qui est utilisé:
 

Code :
  1. if($base =~  m/([a-z_\-.0-9]+@[aol.com]+)/i)


Merci d'avance.

Reply

Marsh Posté le 29-10-2009 à 18:06:31   

Reply

Marsh Posté le 29-10-2009 à 18:11:55    

traduction : "j'ai rien tenté et je suis coincé, il me faudrait de l'aide"
 
la regex n'est pas dur à modifier pour tes besoins, mais bon j'ai vu un . non échappé alors la regex ne fera pas ce que tu souhaites

Reply

Marsh Posté le 29-10-2009 à 18:24:38    

OK,
 
Me suis trompé en faite a la base c'était ceci qui était utilisé:
 

Code :
  1. if($line =~ m/([a-z_\-.0-9]+@[a-z_\-.0-9]+)/i)


 
J'ai essayé de le modifier mais sans résultat concluant :s

Reply

Marsh Posté le 29-10-2009 à 21:04:45    

Tu veux matcher quoi précisément ? Un mail c'est vague, les RFCs sont assez permissives. Vl'à un truc basic pour les matcher les hotmail.com (que tu voudras certainement ne pas prendre en considération, je te comprends).
 

Code :
  1. if ($line =~ m/[\w0-9\.]+@hotmail\.com/i)


Message édité par regexp42 le 29-10-2009 à 21:04:57
Reply

Marsh Posté le 04-11-2009 à 15:26:49    

le regexp d'un mail est assez compliquer, pour valider si le mail est bon ca donne ca :

 

/^((\\\"[^\\\"\\f\\n\\r\\t\\b]+\\\" )|([A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\
\+\\-\\~\\/\\^\\`\\|\\{\\}]+(\\.[A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\
~\\/\\^\\`\\|\\{\\}]*)*))@((\\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0
-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-
4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0
-9])))\\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(
2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9
]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9
])(([A-Za-z0-9\\-])*([A-Za-z0-9]))?(\\.(?=[A-Za-z0-9]))?)+[A-Za-z\\-]*))
$/D



Message édité par stealth35 le 04-11-2009 à 15:28:12
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed