Comment extraire les adresses e-mail

Il arrive que vous exportiez des données de votre site web ou de votre logiciel de gestion,
contenant des informations sur les commandes ou les coordonnées des clients.
Vous n'aviez peut-être besoin que de l'adresse e-mail et de la date de la commande.

Une solution consiste à importer toutes les données dans Excel, à supprimer les colonnes indésirables
et à exporter les colonnes restantes.

Cela risque de ne pas fonctionner correctement si le champ e-mail contient également la description de l'adresse e-mail,
par exemple : « Dave Martin ».

Cela peut s'avérer fastidieux si vous devez répéter la tâche plusieurs fois
ou si vous devez expliquer toutes les étapes à quelqu'un d'autre.


Extraire les données souhaitées à l'aide d'expressions régulières

Une expression régulière (abrégée en « regex » ou « regexp »)
est une séquence de caractères qui spécifie un modèle de correspondance dans un texte.

Un cas très simple consiste à localiser un mot orthographié de deux manières différentes dans un éditeur de texte ;
l’expression régulière seriali[sz]e correspond à la fois à « serialise » et à « serialize ».

La syntaxe permettant d'identifier le texte constitue une situation plus complexe


Tutoriel sur les expressions régulières (Regex)

Vidéo YouTube recommandée
« 38 minutes bien investies, ça vaut vraiment le coup » :

Comment faire correspondre n'importe quel modèle de texte
(à partir de la minute 25, la syntaxe pour extraire les adresses e-mail est expliquée)

Aide-mémoire pour l'utilisation des expressions régulières


Outil en ligne RegExr

Les expressions régulières sont généralement acceptées
dans les éditeurs de texte avancés comme Notepad++ ou Atom.

Des outils en ligne gratuits sont également disponibles, dont un :
https://regexr.com – un service en ligne pour apprendre, créer et tester des expressions régulières.

Explication de l'interface web :
« Expression » est le champ contenant la syntaxe de l'expression régulière.
« Texte » correspond au contenu à analyser.
« Outils > Liste » affiche les résultats de l'extraction.


Exemple 1 : extraire uniquement l’adresse e-mail

Expression :
[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+

Texte:

Dave Martin 615-555-7164 173 Main St., Springfield RI 55924 davemartin@bogusemail.com Charles Harris 800-555-5669 969 High St., Atlantis VA 34075 charlesharris@bogusemail.com Eric Williams 560-555-5153 806 1st St., Faketown AK 86847 laurawilliams@bogusemail.com

Outils > Liste :
$&\n

Résultat:

davemartin@bogusemail.com charlesharris@bogusemail.com laurawilliams@bogusemail.com

Exemple 2 : extraire l’adresse e-mail et la date

Expression :
","(.*?)([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)(.*?)",".*",(\d{2}\.\d{2}\.\d{4})

Texte:

"lorem ipsum dolor sit amet", Robert Farrell<rmfarrell@bogusemail.com> ","",02.01.2024, ,5379, "consectetur adipiscing elit","""Mesa, René<rmesa@bogusemail.com> ""","",04.01.2024, ,20826, "sed do eiusmod tempor incididunt","Antonio Bugan<antonio@bogusemail.com> ","",04.01.2024, ,2856, "ut labore et dolore magna aliqua","Crawley Down Tennis Club<hello@bogusemail.com> ","",05.01.2024, ,4453,

Outils > Liste :
$2, $4\n

Résultat:

rmfarrell@bogusemail.com, 02/01/2024 rmesa@bogusemail.com, 04/01/2024 antonio@bogusemail.com, 04/01/2024 hello@bogusemail.com, 05/01/2024

Aide-mémoire pour l'utilisation des expressions régulières
. - Tout caractère sauf un saut de ligne \d - Chiffre (0-9) \D - Caractère autre qu'un chiffre (0-9) \w - Caractère alphabétique (az, AZ, 0-9, _) \W - Caractère autre qu'un caractère alphabétique \s - Espace (espace, tabulation, saut de ligne) \S - Caractère autre qu'un espace (espace, tabulation, saut de ligne) \b - Limite de mot \B - Caractère autre qu'une limite de mot ^ - Début d'une chaîne $ - Fin d'une chaîne [] - Correspond aux caractères entre crochets [^ ] - Correspond aux caractères hors crochets | - Soit l'un, soit l'autre ( ) - Quantificateurs de groupe : * - 0 ou plus + - 1 ou plus ? - 0 ou 1 {3} - Nombre exact {3,4} - Plage de nombres (minimum, maximum)

Source : extraits de code GitHub


Retour en haut de page