Objet Match
L'objet Match représente un objet contenant
des informations sur les correspondances avec une expression régulière
dans une chaîne. L'objet Match peut être obtenu
en appliquant les méthodes suivantes : fullmatch,
match,
search.
Il est possible d'extraire les informations de l'objet Match à l'aide de méthodes principales.
Méthodes principales appliquées à l'objet Match
| Méthode | Rôle |
|---|---|
group |
Retourne le groupe zéro. |
groups |
Retourne un tuple des groupes. |
groupdict |
Retourne un dictionnaire des groupes nommés. |
span |
Retourne les premier et dernier indices du tuple d'un groupe. |
start |
Retourne le premier index du tuple d'un groupe. |
end |
Retourne le dernier index du tuple d'un groupe. |
Exemple . Objet Match sans méthode
Appliquons la méthode match à notre
chaîne :
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Résultat de l'exécution du code :
<re.Match object; span=(0, 3), match='123'>
Exemple . Méthode group
Affichons maintenant le groupe zéro
de l'objet Match avec la méthode group :
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Résultat de l'exécution du code :
'123'
Exemple . Méthode groups
Appliquons la méthode groups à l'objet obtenu
pour afficher les tuples des groupes :
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Résultat de l'exécution du code :
('1', '2')
Exemple . Méthode groupdict
Pour afficher le dictionnaire des groupes nommés,
on peut appliquer la méthode groupdict :
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Résultat de l'exécution du code :
{'test1': '1', 'test2': '2'}
Exemple . Méthode span
Affichons le tuple des premier et
dernier indices d'un tuple. Pour
cela, nous utilisons la méthode span :
res = re.match('\d+', txt)
print(res.span())
Après l'exécution du code, vous verrez un tuple, composé de deux indices. Mais notez que la dernière valeur est supérieure de un à l'index final :
(0, 3)
Exemple . Méthodes start et end
Pour retourner chaque index
séparément, on peut appliquer les méthodes start
et end :
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Résultat de l'exécution du code :
0
3
Voir aussi
-
la méthode
matchdu modulere,
qui recherche une correspondance avec l'expression régulière au début de la chaîne -
la méthode
fullmatchdu modulere,
qui recherche toutes les correspondances avec l'expression régulière dans la chaîne -
la méthode
searchdu modulere,
qui recherche la première correspondance avec l'expression régulière dans la chaîne