Poches dans la méthode search de Python
Souvent, lors de la recherche d'une correspondance, il est pratique de décomposer la sous-chaîne en ce qu'on appelle des poches. Elles représentent un moyen de décomposer ce qui a été trouvé en parties distinctes. Pour les utiliser, il faut mettre entre parenthèses une partie de l'expression régulière.
Essayons en pratique. Supposons que nous ayons la chaîne suivante :
txt = '123 456'
Décomposons les sous-chaînes numériques en poches. Pour cela, écrivons l'expression régulière suivante :
res = re.search('(\d+) (\d+)', txt)
En résultat, nous obtiendrons un objet match. Dans
son élément à l'index 1 se trouvera
la première poche, dans l'élément à l'index
2 - la deuxième poche, et dans l'élément à l'index
0 - l'intégralité de la correspondance (ce qu'on appelle
la poche zéro) :
print(res[0]) # '123 456' - la correspondance
print(res[1]) # '123' - 1ère poche
print(res[2]) # '456' - 2ème poche
Une chaîne contenant un domaine est donnée :
txt = 'sss domain.ru zzz'
Trouvez ce domaine et placez son nom dans la première poche, et sa zone - dans la seconde.
Une chaîne contenant une date est donnée :
txt = '31.12.2025'
Placez le jour dans la première poche, le mois - dans la seconde, et l'année - dans la troisième.