2011-04-11 2 views
-1

Je voudrais savoir comment utiliser la fonction de REGEXP de MySQL ou RLIKE pour les deux tâches suivantes:Regexp pour vérifier l'adresse e-mail

Tâche 1
Sélectionner toutes les adresses e-mail, mais seulement le retour le composant après le @ et avant le premier. dans le domaine. Donc disons que j'avais 3 emails dans une table ... [email protected], [email protected], [email protected] Je voudrais juste que ça renvoie 3 résultats de 123, 456, 789.


Tâche 2
Lorsqu'ils sont utilisés dans une clause WHERE, je voudrais correspondre uniquement lorsque la même partie du domaine (après le @ et avant la première.) répond à un certain nombre de critères. Pour des arguments bien, permet de dire que cela est 123, 456 ou 789.

+2

Je ne pense pas que les gens vont faire votre travail pour vous - je sais que je ne le fais pas. Nous sommes heureux d'aider, mais ne pas faire votre travail. –

Répondre

2

Tâche 1 - il n'y a aucun moyen de ce faire, MySQL peut utiliser regExps seulement pour comparision

Tâche 2 -

 
SELECT * FROM table WHERE field REGEXP '^[^@][email protected](123|456|789)\\..*$'