Mettre en pratique les expressions régulières : re.split() et re.findall()
Vous allez maintenant écrire quelques expressions régulières pour repérer des chiffres, des chaînes et des caractères non alphanumériques. Regardez d'abord my_string en l'affichant dans l'interpréteur IPython pour déterminer la meilleure façon de traiter les différentes étapes.
Remarque : Il est important de faire précéder vos motifs regex de r pour vous assurer qu'ils sont interprétés comme vous le souhaitez. Sinon, vous pourriez avoir des problèmes liés aux séquences d'échappement dans les chaînes. Par exemple, "\n" en Python indique un saut de ligne, mais si vous utilisez le préfixe r, il sera interprété comme la chaîne brute "\n" — c'est‑à‑dire le caractère "\" suivi du caractère "n" — et non comme un saut de ligne.
Le module des expressions régulières re a déjà été importé pour vous.
Souvenez-vous de la vidéo : avec la bibliothèque regex, la syntaxe consiste à passer d'abord le motif, puis ensuite la chaîne.
Cette activité fait partie du cours
Introduction au traitement du langage naturel en Python
Instructions de l’exercice
- Séparez
my_stringà chaque fin de phrase. Pour ce faire :- Écrivez un motif nommé
sentence_endingspour repérer les fins de phrase (.?!). - Utilisez
re.split()pour scindermy_stringselon ce motif et affichez le résultat.
- Écrivez un motif nommé
- Trouvez et affichez tous les mots commençant par une majuscule dans
my_stringen écrivant un motif nommécapitalized_wordset en utilisantre.findall().- Vous vous souvenez du motif
[a-z]montré dans la vidéo pour repérer les groupes de minuscules? Adaptez-le pour faire correspondre les groupes de majuscules.
- Vous vous souvenez du motif
- Écrivez un motif nommé
spacespour repérer une ou plusieurs espaces ("\s+"), puis utilisezre.split()pour scindermy_stringselon ce motif, en conservant toute la ponctuation. Affichez le résultat. - Repérez tous les chiffres dans
my_stringen écrivant un motif nommédigits("\d+") et en utilisantre.findall(). Affichez le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Write a pattern to match sentence endings: sentence_endings
sentence_endings = r"[___]"
# Split my_string on sentence endings and print the result
print(re.____(____, ____))
# Find all capitalized words in my_string and print the result
capitalized_words = r"[___]\w+"
print(re.____(____, ____))
# Split my_string on spaces and print the result
spaces = r"___"
print(re.____(____, ____))
# Find all digits in my_string and print the result
digits = r"___"
print(re.____(____, ____))