Je me suis demandé s'il y avait une telle chose, et quand je l'ai recherchée, elle était là, alors prenez note.
Si vous voulez obtenir plus d'informations que le texte correspondant sur ce qui correspond au modèle, finditer (), qui renvoie une instance de MatchObject au lieu d'une chaîne, est utile. Comme indiqué dans l'exemple ci-dessous, lorsque vous souhaitez découvrir tous les compléments d'une phrase et leurs positions, utilisez finditer () comme indiqué ci-dessous. ::
>>> text = "He was carefully disguised but captured quickly by police."
>>> for m in re.finditer(r"\w+ly", text):
... print '%02d-%02d: %s' % (m.start(), m.end(), m.group(0))
07-16: carefully
40-47: quickly
Pour le texte contenant du japonais, utilisez décoder pour convertir en Unicode.
text = "C'est un test"
regex = "tester"
a = re.finditer(regex.decode('utf8'), text.decode('utf8'))
for i in a: print i.group(), i.start(), i.end()
Le résultat est,
Test 3 6