Bonjour à tous,
j'ai un bout de code en Python 3 qui lit des chaînes du type "(c,c,c)" où c représente un caractère choisi parmi (a,b,ë,ɪ̈ ). Pour parser la chaîne src je pensais à quelque chose comme ça :
Code :
- src="(a,b,ɪ̈)"
- pattern = "[abëɪ̈]"
- for r in re.finditer( '\({0},{0},{0}\)'.format(pattern), src ):
- print( r.group() )
|
Mais la regex n'aime pas mon "ɪ̈ " que Python décompose en effet en deux charactères (ɪ + diérèse) : (a,b,ɪ̈) n'est pas reconnu par la regex. Je n'ai pas le même problème avec ë que Python décompose en un seul caractère : de fait, (a,b,ë) est correctement reconnu. J'ai essayé de forcer une normalisation à coups de unicodedata.normalize('NFD', ...) appliqués à src et à pattern, sans succès.
Comment puis-je contourner ce problème ? Merci d'avance !
PS : même problème avec Python 2
---------------
rule #1 : trust the python