正则表达式转义正则表达式

3
昨天,我需要将一个文件路径添加到正则表达式中,创建一个如下的模式:
"some_pattern/%s/more_pattern" % some_path

一开始正则表达式没有匹配到,因为some_path包含了一些正则表达式特殊符号,例如?.。我通过快速修复,将它们替换为[?]{1}\.

然而,我想知道是否有更可靠或更好的方法来从字符串中清除正则表达式特定的符号。

  • Python标准库是否支持这样的功能?
  • 如果不支持,你能否提供一个正则表达式来识别所有正则表达式符号,并通过替换来去掉它们?
1个回答

6

只需使用 re.escape,您就可以解决问题。

re.escape(string)

返回带有所有非字母数字的反斜杠转义的字符串;如果您想匹配包含正则表达式元字符的任意文字字符串,则此方法非常有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接