Regroupement, quantificateurs et ancres
Glissez pour afficher le menu
Comprendre comment regrouper des parties d’un motif, spécifier le nombre de répétitions et définir où une correspondance doit se produire dans une chaîne sont des compétences essentielles pour écrire des expressions régulières puissantes. En Python, les parenthèses () servent à créer des groupes, permettant de traiter plusieurs caractères comme une seule unité. Les quantificateurs tels que *, +, ? et {n,m} contrôlent le nombre de fois qu’un caractère ou un groupe doit apparaître. Les ancres comme ^ et $ sont des symboles spéciaux qui correspondent respectivement au début ou à la fin d’une chaîne.
Regroupement avec des parenthèses
Le regroupement avec des parenthèses permet d’appliquer des quantificateurs à des sous-motifs entiers plutôt qu’à des caractères individuels. Par exemple, (ab)+ correspond à une ou plusieurs répétitions de la séquence ab.
Quantificateurs
- L’astérisque (
*) signifie « zéro ou plusieurs fois » ; - Le signe plus (
+) signifie « une ou plusieurs fois » ; - Le point d’interrogation (
?) signifie « zéro ou une fois » ; - Les accolades (
{n,m}) spécifient un nombre minimum (n) et maximum (m) de répétitions.
Ancres
Les ancres ne sont pas des caractères à faire correspondre, mais des marqueurs de position dans la chaîne. Le caret (^) indique le début, tandis que le signe dollar ($) indique la fin d’une chaîne.
1234567import re text = "hello hello world world world" pattern = r"(world\s+)+" matches = re.findall(pattern, text) print(matches)
Analyse étape par étape : regroupement et quantificateurs
Dans cet exemple, le motif d’expression régulière (world\s+)+ est utilisé pour trouver des occurrences répétées du mot world suivi d’espaces. Voici comment ce motif fonctionne :
- Les parenthèses
()créent un groupe autour deworld\s+, traitant le motworldet l’espace qui suit comme une seule unité ; - Le quantificateur plus
+placé juste après le groupe signifie que ce groupe doit apparaître une ou plusieurs fois de suite ; - En conséquence, le motif correspond à chaque séquence où
worldest répété avec des espaces entre chaque, capturant la plus longue séquence possible.
Le regroupement est particulièrement utile lorsque l’on souhaite appliquer des quantificateurs à une séquence de caractères ou capturer des parties d’une correspondance pour une utilisation ultérieure. Les quantificateurs peuvent être appliqués à des caractères uniques, des classes de caractères ou des groupes entiers. L’utilisation d’ancres avec ces motifs permet de contrôler davantage l’emplacement des correspondances, par exemple pour faire correspondre un mot répété uniquement au début ou à la fin d’une chaîne.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion