python重新找到可能包含括号的字符串

时间:2013-09-30 15:07:54

标签: python regex string

我正在尝试搜索可能包含括号或其他字符的字符串,这些字符可能不会被解释为纯字符串。

def findstring(string, text):
    match = re.search(string, text)

我不控制字符串,因为它是从另一个模块派生的。我的问题是该字符串可能包含“xyz”“,这会引发一个错误,告诉我有不匹配的括号。

我已经尝试了这个没有成功

match = re.search(r'%s' % string, text)

1 个答案:

答案 0 :(得分:10)

您可以使用re.escape()来转义字符串:

match = re.search(re.escape(string), text)

来自docs:

  

返回字符串,所有非字母数字反向;如果要匹配可能包含正则表达式元字符的任意文字字符串,这非常有用。