Bonjour,

J'ai besoin de split des strings avec un pattern étrange en python.
J'essaie donc de le réaliser avec le module "re".

Voici le genre de strings que j'ai en entrée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
text = "@sFEMERGENCY>"
text2 = "NOAROBASE>"
text3 = "@sD[ ]@s9@h1c"
text4 = "@sM@s9@s0<CONNECTION@sD@h1C"
text5 = " @sN"
Voici ce que j'aimerais en sortie :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
['@sFEMERGENCY>']
['NOAROBASE>']
[ '@sD[ ]', '@s9@h1c']
[ '@sM@s9@s0<CONNECTION', '@sD@h1C']
[' ', '@sN']
Les "@s" sont toujours suivis par UN seul de ces caractères : @s[ABCDEF089MN].
Il peut y en avoir plusieurs (text4) comme il peut ne pas y en avoir au début de la string (text5, il y a un espace) voire ne pas y en avoir du tout (text2).

Le "@h" est lui suivi de deux caractères : @h[0-9,A-F][0-9,A-F], il peut aussi y en avoir plusieurs.

En ce qui concerne le "texte" des strings, il peut y avoir de tout .. A-Z, [], <>, /, ,-, etc. mais pas de "@".
J'ai essayé de nombreuses choses avec les méthodes split et findall mais je n'ai pas réussi à obtenir le résultat voulu...

Quelqu'un a-t-il une idée de la regex a utiliser ?

Merci