Motifs d’expressions régulières et classes de caractères
\d, \w, \s, ., ^, $, +, *, ?, {n,m}, classes de caractères [a-z], négation [^...].
Motifs d’expressions régulières et classes de caractères est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Pourquoi les expressions régulières sont importantes pour l’IA textuelle
L’IA textuelle commence avec du texte brut désordonné. Les expressions régulières constituent un langage concis permettant de rechercher et d’extraire des motifs — numéros de téléphone, dates, hashtags et URL — afin de nettoyer et de structurer le texte avant de le fournir à un modèle.
Ce cours présente les motifs, le module re, les groupes et une véritable chaîne de nettoyage de texte.
Caractères littéraux
Le motif le plus simple est un texte littéral : il correspond exactement à ces caractères. Par défaut, les expressions régulières distinguent les majuscules et les minuscules.
cat correspond à "cat" dans "the cat sat", mais pas à "Cat".
import re
print(re.findall("cat", "the cat sat on a cat mat"))
# ["cat", "cat"]Le métacaractère point
Le point . correspond à n’importe quel caractère unique, sauf un saut de ligne. C’est un caractère générique.
c.t correspond à "cat", "cot" et "c9t" — à toute séquence composée de c, d’un caractère, puis de t.
import re
print(re.findall("c.t", "cat cot cut c@t"))
# ["cat", "cot", "cut", "c@t"]Classes de chiffres, de mots et d’espaces
Les classes de caractères abrégées couvrent les groupes courants :
\d— un chiffre (0 à 9)\w— un caractère de mot (lettre, chiffre ou trait de soulignement)\s— un espace blanc (espace, tabulation ou saut de ligne)
import re
print(re.findall("\d", "a1b2c3")) # ["1", "2", "3"]
print(re.findall("\w", "a_1!")) # ["a", "_", "1"]
print(re.findall("\s", "a b\tc")) # [" ", "\t"]Classes négatives
Les versions en majuscules nient la classe :
\D— NOT : tout ce qui n’est pas un chiffre\W— NOT : un caractère de mot\S— NOT : un espace blanc
import re
print(re.findall("\D", "a1b2")) # ["a", "b"]
print(re.findall("\S", "a b c")) # ["a", "b", "c"]Ensembles de caractères personnalisés avec [ ]
Les crochets définissent votre propre ensemble : ils recherchent n’importe quel caractère parmi ceux qui sont listés. Les plages utilisent un trait d’union.
[aeiou]— n’importe quelle voyelle[A-Za-z]— n’importe quelle lettre[0-9]— n’importe quel chiffre (comme\d)
import re
print(re.findall("[A-Za-z]", "ab12CD")) # letters only
print(re.findall("[aeiou]", "hello")) # ["e", "o"]Ensembles négatifs avec [^ ]
Un accent circonflexe à l’intérieur des crochets nie l’ensemble : il recherche tout caractère NOT listé.
[^abc] correspond à tout sauf a, b ou c. (Un accent circonflexe à l’extérieur des crochets est une ancre, présentée ensuite.)
import re
print(re.findall("[^aeiou ]", "hello world"))
# consonants: ["h", "l", "l", "w", "r", "l", "d"]Ancres : ^ et $
Les ancres correspondent à des positions, et non à des caractères :
^— début de la chaîne (ou de la ligne)$— fin de la chaîne (ou de la ligne)
^Hello ne correspond que si le texte commence par "Hello".
import re
print(bool(re.search("^Hello", "Hello world"))) # True
print(bool(re.search("world$", "Hello world"))) # True
print(bool(re.search("^world", "Hello world"))) # FalseQuantificateurs : + * ?
Les quantificateurs indiquent combien de fois l’élément précédent se répète :
+— une fois ou plus*— zéro fois ou plus?— zéro ou une fois (facultatif)
import re
print(re.findall("\d+", "abc 123 de 45")) # ["123", "45"]
print(re.findall("ab*", "a ab abb")) # ["a", "ab", "abb"]
print(re.findall("colou?r", "color colour")) # both matchQuantificateur de plage {n,m}
Les accolades indiquent un nombre exact ou une plage :
{3}— exactement 3{2,4}— entre 2 et 4{2,}— 2 ou plus
Très pratique pour les éléments de longueur fixe, comme les codes ZIP ou les segments de numéros de téléphone.
import re
print(re.findall("\d{3}", "12 345 6789")) # ["345", "678"]
print(re.findall("\d{2,4}", "1 22 3333 55555"))Combiner les éléments
Les motifs réels combinent classes, ensembles, ancres et quantificateurs. Celui-ci correspond à un numéro de téléphone US simple, comme 555-123-4567 :
\d{3}-\d{3}-\d{4} — trois chiffres, un tiret, trois chiffres, un tiret, quatre chiffres.
import re
text = "Call 555-123-4567 or 999-888-7777"
print(re.findall("\d{3}-\d{3}-\d{4}", text))
# ["555-123-4567", "999-888-7777"]Vérification rapide : quantificateurs
Vous voulez faire correspondre un ou plusieurs chiffres consécutifs.
Récapitulatif : motifs et classes de caractères
Vous connaissez maintenant les éléments de base des expressions régulières :
- Les littéraux et le caractère générique
. - Les classes
\d \w \set leurs négations\D \W \S - Les ensembles personnalisés
[A-Za-z]et les ensembles négatifs[^abc] - Les ancres
^et$ - Les quantificateurs
+ * ?et les plages{n,m}
Ensuite : les fonctions du module Python re.
Questions Fréquemment Posées
La leçon « Motifs d’expressions régulières et classes de caractères » est-elle gratuite ?
Oui — le texte complet de « Motifs d’expressions régulières et classes de caractères » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Motifs d’expressions régulières et classes de caractères » ?
\d, \w, \s, ., ^, $, +, *, ?, {n,m}, classes de caractères [a-z], négation [^...]. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Motifs d’expressions régulières et classes de caractères » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Motifs d’expressions régulières et classes de caractères
- Module re : recherche, correspondance, extraction et remplacement
- Groupes capturants et groupes nommés
- Nettoyer le texte pour l’IA avec les expressions régulières