1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| obj_motif = re.compile(r'''
# (?<=A)B
# capture B s'il est précédé de A, ne capture pas A
(?<=ab\d{2})\d{2}
# capture \d{2} s'il est précédé par ab\d{2}
| # ou
(?<=a)\d{1,2}
# capture \d{1,2} s'il est précédé par a
''', re.VERBOSE | re.UNICODE)
texte = "ab1234 a5b12"
iterator = obj_motif.finditer(texte)
for match in iterator:
print("group = {}, groups = {}, span = {}, start = {}, end = {}".format(
match.group(), match.groups(), match.span(), match.start(), match.end()))
"""
group = 34, groups = (), span = (4, 6), start = 4, end = 6
group = 5, groups = (), span = (8, 9), start = 8, end = 9
""" |
Partager