我正在尝试创建一个正则表达式来替换目标字符串中word
中存储的字符串的所有字实例:
regex = re.compile("\\b" + word + "\\b")
Python抱怨“引发错误,v#无效表达”。为什么会出错?我确保逃脱反斜杠,对吧?
答案 0 :(得分:4)
由于re.compile
不知道其输入部分来自用户,因此您应使用re.escape
在word
中使特殊字符(如括号)与这些字符匹配,而不是在正则表达式中使用它们的特殊含义,如下所示:
```
import re
word = 'Par(ens'
regex = re.compile("\\b" + re.escape(word) + "\\b")