Expressions régulières avec MySQL

Expressions régulières avec MySQL

Petite trouvaille du vendredi: Exécuter des requêtes MySQL pleine d’expressions régulières. Cette après midi, en faisant un petit tour dans la base de données des inscrits à la newsletter de CBC qui avait bien besoin d’un clean up afin de supprimer les adresses e-mails invalides.

Du coup, je cherchais un moyen de supprimer les adresses mails mal formatées qu’on trimbale, et par la même occasion, récupérer seulement les adresses mails bien formatées lors de l’envoi de la newsletter, en attendant que l’on fasse un beau remodeling du site actuel.

Du coup, je m’suis demandé tout bêtement, si MySQL prenait en compte les expressions régulières, ce qui m’aurai facilité le travail. Et bien sachez le, c’est carrément possible (youpi!) et super simple à mettre en oeuvre en plus. Voilà comment :

Dans un SELECT

Utile si vous voulez récupérer tous les champs validant l’expression régulière

SELECT 'fofo' REGEXP '^fo' FROM table;

Dans une clause WHERE

En fait, ça ne change pas grand chose

SELECT champ FROM table WHERE champ REGEXP '^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$' AND champ2 REGEXP '(chouette|cool|super)'

Alors, heureux? 

0 Webmentions

No webmentions were found.