finalement je vais utiliser quelques chose de ce style
r1 = re.findall(r"[DEF]\d+[.\-_ ]?\d+[.\-_ ]?\d+", test_str)
a noter que je suis obligé de mettre un \ devant le -
je n'ai pas trop compris pourquoi
il me detecte ça
['D53.10000-000']
['D531100000000']
['D531-10000-000']
['D531.10000.000']
['D531 10000 000']
['D12.345-986523']
et sans le \
['D53.10000']
['D531100000000']
['D531']
['D531.10000.000']
['D531 10000 000']
['D12.345']
j'imagine que sans le slash c'est interprété comme caractères de . à _
j'ai bon ?
fifan31, ta proposition ne convient pas pour ce que je cherche
r'([a-zA-Z])(\d{3})[. -]?(\d{5})[. -]?(\d{3})'
[('D', '531', '10000', '000')]
[('D', '531', '10000', '000')]
[('D', '531', '10000', '000')]
[('D', '531', '10000', '000')]
sauf si bien sur les texte étaient tous bien ecrit avec le bon nombre de digits
mais je veux justement détecter ceux qui sont trop courts ou longs
Partager