Expression régulière qui recherche des sous-chaînes contenant N caractères consécutifs ou plus.
import re
def nchars(s, n):
"""Rechercher une sous-chaîne dans la chaîne s qui a au moins n caractères identiques consécutifs
"""
assert n > 0
reg = re.compile("(.)\\1{%d,}" % (n - 1)) #Si vous prenez la virgule, ce sera exactement n
while True:
m = reg.search(s)
if not m:
break
yield m.group(0)
s = s[m.end():]
print(list(nchars('un bon uuu ee', 2)))
print(list(nchars('aa Ii Uuu Uu e ooo', 3)))
C'est le résultat de l'exécution.
['Bien', 'uuu', 'ee']
['Bien', 'Uuuuuuu', 'ooo']
Recommended Posts