Python: cherche une chaine de caractère

Medestrac - 9 janv. 2025 à 15:41
blux Messages postés 26590 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 9 janvier 2025 - 9 janv. 2025 à 17:02

Bonjour,

Je lis des codes datamatrix dont les composants sont spécifiés par des préfixes sous la forme '(XX)'

Exemple: (10)215(17)270109 ou (10)215(96)A(L(11)04122024

Je récupère cette chaine de caractère en input, et je souhaite en extraire les différentes composantes. Je sais trouver le préfixe (10) et sa position dans la chaine, mais je ne sais pas trouver la position du préfixe suivant.

Je pourrais chercher uniquement le caractère '(', mais je crains qu'il n'apparaisse dans la donnée (par exemple: A)L)

Je voudrais donc chercher la prochaine occurence de '(**)', les 2 étoiles pouvant être n'importe quel chiffre...

Comment faire en python?

3 réponses

blux Messages postés 26590 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 9 janvier 2025 3 323
9 janv. 2025 à 15:43

Salut,

faire un split avec une regex ?


0

Bonjour,

Je ne maitrise pas regex, un coup de main ou un lien vers un bon tuto m'intéresse ;-)

0
blux Messages postés 26590 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 9 janvier 2025 3 323
Modifié le 9 janv. 2025 à 17:14

Je ne maitrise pas Python, mais je verrais bien un truc comme ça :

import re
print(re.split(r'(\d+)', s_nums))

Adapté de :

https://note.nkmk.me/en/python-split-rsplit-splitlines-re/#split-a-string-by-regex-resplit

\d veut dire 'digit', donc chiffre et {2} veut dire 2 occurrences de \d, entourées par les parenthèses.


0