Comment extraire des adresses e-mail

Il arrive parfois que vous ayez exporté des données depuis votre site web ou votre logiciel de gestion d'entreprise
contenant des informations sur les commandes ou les coordonnées des clients.
Peut-être n'aviez-vous 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 celles qui restent.

This may not work well if the email field also contains the email address description,
for example: “Dave Martin <davemartin@bogusemail.com>”.

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


Extraire les données souhaitées à l'aide d'une « expression régulière »

Une expression régulière (souvent abrégée en « regex » ou « regexp »),
est une suite de caractères qui définit un motif de correspondance dans un texte.

Un cas très simple consiste à rechercher un mot orthographié de deux façons différentes dans un éditeur de texte,
l'expression régulière série[sz]e correspond à la fois à « serialise » et à « serialize ».

La syntaxe permettant d'identifier des éléments dans le texte présente une certaine complexité


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

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

Comment rechercher n'importe quel motif de texte
(à partir de la 25e minute, la syntaxe permettant d'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 prises en charge
dans les éditeurs de texte avancés tels que Notepad++ ou Atom.

Il existe également des outils en ligne gratuits, dont notamment :
https://regexr.com - un service en ligne permettant d'apprendre, de créer et de tester des expressions régulières.

Explication de l'interface Web :
Le champ « Expression » contient la syntaxe d'expression régulière.
Le champ « Text » correspond au contenu que vous souhaitez analyser.
Le menu « Tools > List » affiche les résultats de l'extraction.


Exemple 1 : pour 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 : pour 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, Rene <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
.       - Any Character Except New Line
\d      - Digit (0-9)
\D      - Not a Digit (0-9)
\w      - Word Character (a-z, A-Z, 0-9, _)
\W      - Not a Word Character
\s      - Whitespace (space, tab, newline)
\S      - Not Whitespace (space, tab, newline)

\b      - Word Boundary
\B      - Not a Word Boundary
^       - Beginning of a String
$       - End of a String

[]      - Matches Characters in brackets
[^ ]    - Matches Characters NOT in brackets
|       - Either Or
( )     - Group

Quantifiers:
*       - 0 or More
+       - 1 or More
?       - 0 or One
{3}     - Exact Number
{3,4}   - Range of Numbers (Minimum, Maximum)

source : extraits de code GitHub


Retour en haut de la page