1

在搜索“C++”时,我在这一行得到一个错误。

needles = "C++ Developer"
regal = re.compile(r"(%s)" % "|".join(needles), re.I)
# error: multiple repeat

如何在不操纵针头的情况下避免上述错误?

4

2 回答 2

6

您正在寻找re.escape()转义纯文本中的所有元字符。

编辑:

>>> re.escape("C++ Developer")
'C\\+\\+\\ Developer'
>>> re.escape(r'\+*.][')
'\\\\\\+\\*\\.\\]\\['
于 2012-05-30T03:43:45.603 回答
1

如果要搜索加号,则必须按照编写的方式操作“needles”变量。只是逃避你的加号:

needles = "C\\+\\+ Developer"

于 2012-05-30T03:39:10.727 回答