當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python re.escape用法及代碼示例


用法:

re.escape(pattern)

轉義 pattern 中的特殊字符。如果您想匹配其中可能包含正則表達式元字符的任意文字字符串,這很有用。例如:

>>> print(re.escape('https://www.python.org'))
https://www\.python\.org

>>> legal_chars = string.ascii_lowercase + string.digits + "!#$%&'*+-.^_`|~:"
>>> print('[%s]+' % re.escape(legal_chars))
[abcdefghijklmnopqrstuvwxyz0123456789!\#\$%\&'\*\+\-\.\^_`\|\~:]+

>>> operators = ['+', '-', '*', '/', '**']
>>> print('|'.join(map(re.escape, sorted(operators, reverse=True))))
/|\-|\+|\*\*|\*

此函數不能用於 sub()subn() 中的替換字符串,隻能轉義反斜杠。例如:

>>> digits_re = r'\d+'
>>> sample = '/usr/sbin/sendmail - 0 errors, 12 warnings'
>>> print(re.sub(digits_re, digits_re.replace('\\', r'\\'), sample))
/usr/sbin/sendmail - \d+ errors, \d+ warnings

在 3.3 版中更改: '_'字符不再轉義。

在 3.7 版中更改:隻有在正則表達式中具有特殊含義的字符才會被轉義。因此,'!','"','%',"'",',','/',':',';','<','=','>','@', 和"`"不再逃脫。

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 re.escape。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。