6

我正在尝试搜索可能包含括号或其他可能无法解释为纯字符串的字符的字符串。

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

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

我已经尝试过了但没有成功

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

1 回答 1

11

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

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

来自文档:

返回所有非字母数字反斜杠的字符串;如果您想匹配其中可能包含正则表达式元字符的任意文字字符串,这很有用。

于 2013-09-30T15:10:35.483 回答