Bonjour

Voici une regex pour verifier un mail :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$result = preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#',$var);
Ce que je n'arrive pas à comprendre c'est que quand je supprime le +

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$result = preg_match('#^[\w.-]@[\w.-]\.[a-zA-Z]{2,6}$#',$var);
le comportement change et cette regex retourne toujours FALSE. je pensais que le + ou * ? n'etait pas indispensable cad sans ces caracteres on pouvait verfier plusieur fois la valeur indiqué.
Qu'est ce que j'ai fais exactement en supprimant le + ?
Merci d'avance de m'éclairerai la dessus.

[edit = autre question]

j'ai une autre question pendant qu'on y est

Code : Sélectionner tout - Visualiser dans une fenêtre à part
#(((https?|ftp)://(w{3}\.)?)(?<!www)(\w+-?)*\.([a-z]{2,4}))#
à quoi sert (?<!www) dans la rexex précédente ?


Cordialement