Python Language Trouver tous les matchs qui ne se chevauchent pas


Exemple

re.findall(r"[0-9]{2,3}", "some 1 text 12 is 945 here 4445588899")
# Out: ['12', '945', '444', '558', '889']

Notez que le r avant "[0-9]{2,3}" indique à python d'interpréter la chaîne telle quelle; comme une chaîne "brute".

Vous pouvez également utiliser re.finditer() qui fonctionne de la même manière que re.findall() mais renvoie un itérateur avec des objets SRE_Match au lieu d'une liste de chaînes:

results = re.finditer(r"([0-9]{2,3})", "some 1 text 12 is 945 here 4445588899")
print(results)
# Out: <callable-iterator object at 0x105245890>
for result in results:
     print(result.group(0))
''' Out:
12
945
444
558
889
'''