在搜索“C++”时,我在这一行得到一个错误。
needles = "C++ Developer"
regal = re.compile(r"(%s)" % "|".join(needles), re.I)
# error: multiple repeat
如何在不操纵针头的情况下避免上述错误?
您正在寻找re.escape()
转义纯文本中的所有元字符。
编辑:
>>> re.escape("C++ Developer")
'C\\+\\+\\ Developer'
>>> re.escape(r'\+*.][')
'\\\\\\+\\*\\.\\]\\['
如果要搜索加号,则必须按照编写的方式操作“needles”变量。只是逃避你的加号:
needles = "C\\+\\+ Developer"