Les instances de MatchObject supportent les méthodes et les attributs suivants :
-1. Si un groupe est contenu dans une partie du motif qui
correspond plusieurs fois, la dernière correspondance est renvoyée.
Si l'expression régulière utilise la syntaxe (?P<name>...), les arguments groupN peuvent également être des chaînes de caractères identifiant des groupes par leur nom de groupe. Si une chaine d'argument n'est pas utilisée comme nom de groupe dans le motif, une exception IndexError est levée.
Un exemple modérément compliqué:
m = re.match(r"(?P<int>\d+)\.(\d*)", '3.14')
Après exécution de cette recherche, m.group(1) est '3',
de même que m.group('int'), et m.group(2) est '14'.
None. (note d'incompatibilité: dans la release
initiale 1.5 de Python, si le tuple était un long, une chaîne de
caractères seraient retournée à la place. Dans les versions postérieures
(à partir de 1.5.1), un simple tuple est retourné dans de tels cas.)
None.
-1 si le groupe existe mais ne correspond pas.
Pour un objet m correspondant, et un groupe g qui a contribué à
la correspondance, la sous-chaîne correspondant au groupe g (équivalent
à m.group(g)) est
m.string[m.start(g):m.end(g)]
Notez que
m.start(group) équivaut à m.end(group) si
group correspond à une chaîne vide. Par exemple, après m =
re.search('b(c?)', 'cba'), m.start(0) vaut 1,
m.end(0) vaut 2, m.start(1) et m.end(1)
valent 2, et m.start(2) lève l'exception IndexError.
(m.start(group), m.end(group)).
Notez que si le group ne contribue pas à la correspondance, c'est
(-1, -1). Encore, group vaut zéro par défaut.
Voir aussi: