Bonjour,

Je suis en difficulté avec les regex :
je voudrais remplacer certains mots par des étiquettes du style <MOT>israélien</MOT>, mais le découpage ne se fait pas sur le mot exact. Dans mon texte, j'ai «israélien» et «lien», ce qui fait un découpage israé<MOT>lien></MOT> au lieu de <MOT>israélien></MOT> !!
Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
texte = "espagnol et israélien. Voici le lien."
mots = ["espagnol","israélien","lien"]
for mot in mots:
      avant = r''\b''+mot+r''\b''
      apres = r''<MOT>''+mot+r''</MOT>''
texte = re.sub(avant,apres,texte)
print texte
Est-il possible d'avoir un vrai découpage sur les mots ? Je pensais que les \b suffisaient pour ne pas avoir de problèmes. Si je supprime l'accent sur israélien, il n'y a plus de problème donc c'est sûrement l'accent qui bloque. Mais je ne vois pas comment faire...

Merci à vous