Je suis en train de créer un regex pour remplacer toutes les occurrences de mots de la chaîne stockée dans word
dans une chaîne cible:Comment se fait-il que je ne puisse pas créer cette regex avec une variable en python?
regex = re.compile("\\b" + word + "\\b")
Python se plaint avec « raise erreur, v # expression non valide ». Pourquoi y a-t-il une erreur? Je me suis assuré d'échapper à mes backslashes, non?
Quel est le contenu de' word'? – nemo
're.compile (" \\ b "+" lalala "+" \\ b ")' fonctionne bien pour moi. Qu'est-ce que vous obtenez lorsque vous «imprimer un mot»? –
Vous pouvez utiliser 're.escape (word)' s'il est fourni par l'utilisateur. Cela protégera votre code de plantage s'il contient des éléments de modèle regex non valides. Si vous voulez permettre 'word' de contenir des choses regex, vous avez probablement juste besoin d'attraper l'exception et donner des commentaires appropriés à l'utilisateur. – Blckknght