我正在尝试搜索可能包含括号或其他字符的字符串,这些字符可能不会被解释为纯字符串。
def findstring(string, text):
match = re.search(string, text)
我不控制字符串,因为它是从另一个模块派生的。我的问题是该字符串可能包含“xyz”“,这会引发一个错误,告诉我有不匹配的括号。
我已经尝试了这个没有成功
match = re.search(r'%s' % string, text)
答案 0 :(得分:10)
您可以使用re.escape()
来转义字符串:
match = re.search(re.escape(string), text)
来自docs:
返回字符串,所有非字母数字反向;如果要匹配可能包含正则表达式元字符的任意文字字符串,这非常有用。