[Filter]Regexp email

Mammouth du PHP | 684 Messages

09 févr. 2006, 18:21

Salut tout le monde.

Je suis sur la gestion du module pecl de filter. Je viens de voir la regexp qui traite qu'un email est valide dans la forme mais pas par rapport a son nom de domaine. La dessus il n'y a pas trop de probleme mais je pense qu'il y a une petite erreur.

Voici la regexp qui traite l'email :

Code : Tout sélectionner

/^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((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-z\-]+))$/
Cette regexp vient de cette page :
http://cvs.php.net/viewcvs.cgi/pear/HTM ... up&rev=1.4

Quand on regarde cette partie precise de la regexp :

Code : Tout sélectionner

([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*)
Je me pose la question s'il ne manque pas le signe '\=' et '\?' qui selon la rfc 2822 est correct (chapitre : 3.2.4. Atom - atext). A moins que je ne sache plus a quoi correspond le '\w' qui pour moi equivaux a ceci :

Code : Tout sélectionner

[A-Za-z0-9_]
J'aimerais avoir votre avis merci.
Zigz4g