我怎么能';用python中的变量创建这个正则表达式?

我怎么能';用python中的变量创建这个正则表达式?,python,Python,我试图创建一个正则表达式来替换目标字符串中存储在word中的字符串的所有word实例: regex = re.compile("\\b" + word + "\\b") Python抱怨“raiseerror,v#invalid expression”。为什么会有错误?我一定要避开反斜杠,对吗?因为re.compile不知道它的部分输入来自用户,所以应该使用word中的特殊字符(如括号)匹配这些字符,而不是在正则表达式中使用它们的特殊含义,例如: ``` 由于re.compile不知道其输入的

我试图创建一个正则表达式来替换目标字符串中存储在
word
中的字符串的所有word实例:

regex = re.compile("\\b" + word + "\\b")

Python抱怨“raiseerror,v#invalid expression”。为什么会有错误?我一定要避开反斜杠,对吗?

因为
re.compile
不知道它的部分输入来自用户,所以应该使用
word
中的特殊字符(如括号)匹配这些字符,而不是在正则表达式中使用它们的特殊含义,例如: ```


由于
re.compile
不知道其输入的一部分来自用户,因此应使用使
word
中的特殊字符(如括号)与这些字符匹配,而不是在正则表达式中使用它们的特殊含义,如下所示: ```


word
的内容是什么?
re.compile(“\\b”+“lalalala”+“\\b”)
对我来说很好。当您
打印word
时会得到什么?如果是用户提供的,您可能需要使用
re.escape(word)
。如果代码包含无效的正则表达式模式内容,这将保护您的代码不会崩溃。如果您确实想允许
word
包含正则表达式内容,您可能只需要捕获异常并向用户提供适当的反馈。
word
的内容是什么?
重新编译(“\\b”+“lalalala”+“\\b”)
对我来说很好。当您
打印word
时会得到什么?如果是用户提供的,您可能需要使用
re.escape(word)
。如果代码包含无效的正则表达式模式内容,这将保护您的代码不会崩溃。如果您确实希望允许
word
包含regex内容,那么您可能只需要捕获异常并向用户提供适当的反馈。
import re
word = 'Par(ens'
regex = re.compile("\\b" + re.escape(word) + "\\b")