在Python字符串中转义正则表达式特殊字符
问题内容:
Python是否具有可用来在正则表达式中转义特殊字符的函数?
例如,I'm "stuck" :\
应成为I\'m \"stuck\" :\\
。
问题答案:
采用 re.escape
>>> import re
>>> re.escape(r'\ a.*$')
'\\\\\\ a\\.\\*\\$'
>>> print(re.escape(r'\ a.*$'))
\\\ a\.\*\$
>>> re.escape('www.stackoverflow.com')
'www\\.stackoverflow\\.com'
>>> print(re.escape('www.stackoverflow.com'))
www\.stackoverflow\.com
在这里重复:
re.escape(字符串)
返回所有非字母数字加反斜杠的字符串;如果您要匹配一个可能包含正则表达式元字符的任意文字字符串,这将很有用。
从Python 3.7re.escape()
开始,更改为仅转义对正则表达式操作有意义的字符。