Bonjour à vous,
J'ai un petit soucis dans l'utilisation d'une expression régulière avec MySQL. Je possède une table contenant les informations au sujet de personnes. Parmi ces informations, il y a l'adresse Email. Cependant, les gen qui réalisent la saisie de ces informations ne sont pas très doués du clavier, et comme l'ancien logiciel qu'ils utilisaient n'éffectuait aucune vérification de syntaxe sur les adresses Email, je me retrouve avec des déclinaisons très exotiques d'adresse bien évidement fausse.
J'ai donc mis au point une expression régulière pour reconnaître la bonne syntaxe d'une adresse Email. Voilà la chaîne de cette expression régulière :
'(^[a-z])([a-z0-9]+)?(\.|-)?([a-z0-9]+)@([a-z0-9]+)\.([a-z]{2,4}$)'
L'expression régulière ainsi rédigée dans une requete SELECT sur ma table me permet éffectivement de recenser toutes les bonnes adresses, mais en fait, ce que je voudrai obtenir c'est l'inverse, c'est à dire trouver toutes celles qui ne sont pas correcte. Voici ma requete complète qui me récupère celles qui sont correcte, pourriez-vous m'aider à transformer cette requete pour qu'elle me trouve celles qui ne le sont pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT Email
FROM emprunteurs
WHERE Email
REGEXP '(^[a-z])([a-z0-9]+)?(\.|-)?([a-z0-9]+)@([a-z0-9]+)\.([a-z]{2,4}$)'
Merci d'avance.