re est le module de regex (regular expressions) de Python. On l'utilise pour chercher, extraire, valider et remplacer du texte.
Import
import rere.search(motif, texte) première occurrence (ou None)
re.findall(motif, texte) toutes les occurrences (liste)
re.match(motif, texte) uniquement au début
re.sub(motif, remp, texte) remplacement
re.split(motif, texte) découpe selon le motifToujours préfixer la regex par r'...' pour éviter les double échappements :
r'\d{4}' ✅
'\\d{4}' ⚠ équivalent mais illisible\d chiffre [0-9]
\w alphanumérique + _
\s espace (espace, tab, newline)
. n'importe quel caractère (sauf newline)
[] classe (ex [a-z], [^abc] = pas a/b/c)Quantificateurs
* 0+ + 1+ ? 0 ou 1
{n} exactement n {n,m} entre n et mAncres
^ début $ finimport retexte = 'Contact: alice@email.com ou bob.martin@company.fr'
emails = re.findall(r'[\w.]+@[\w.]+', texte)
print(emails) # ['alice@email.com', 'bob.martin@company.fr']date_str = 'Née le 15/03/1990, diplômée le 20/06/2015'
dates = re.findall(r'\d{2}/\d{2}/\d{4}', date_str)
print(dates) # ['15/03/1990', '20/06/2015']tel = 'Appelez le 06 12 34 56 78 ou le 01-23-45-67-89'
nums = re.findall(r'[\d][\d\s-]{8,}[\d]', tel)
print(nums)clean = re.sub(r'\s+', ' ', " trop d'espaces ici ")
print(clean.strip()) # "trop d'espaces ici"Remplace toutes les séquences d'espaces multiples par un seul espace.
Les ( ) capturent une partie du match :
m = re.search(r'(\d{2})/(\d{2})/(\d{4})', '15/03/1990')
m.group(0) # '15/03/1990' (match complet)
m.group(1) # '15'
m.group(2) # '03'
m.group(3) # '1990'Outils : regex101.com et pythex.org pour tester tes motifs interactivement. Indispensables.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →