import re re.escape(pattern)
pattern
- строка с шаблоном регулярного выражения.Функция escape()
модуля re
выполняет экранирование специальных символов в шаблоне. Это полезно, если требуется сопоставить произвольную строку литерала, которая может содержать метасимволы регулярных выражений.
>>> import re >>> print(re.escape('http://www.python.org')) # http://www\.python\.org >>> import string >>> legal_chars = string.ascii_lowercase + string.digits + "!#$%&'*+-.^_`|~:" >>> print('[%s]+' % re.escape(legal_chars)) # [abcdefghijklmnopqrstuvwxyz0123456789!\#\$%\&'\*\+\-\.\^_`\|\~:]+ >>> operators = ['+', '-', '*', '/', '**'] >>> print('|'.join(map(re.escape, sorted(operators, reverse=True)))) # /|\-|\+|\*\*|\*
Функция escape()
не должна использоваться для замены строки в re.sub()
и re.subn()
, только обратные косые черты должны быть экранированы. Например:
>>> digits_re = r'\d+' >>> sample = '/usr/sbin/sendmail - 0 errors, 12 warnings' >>> import re >>> print(re.sub(digits_re, digits_re.replace('\\', r'\\'), sample)) # /usr/sbin/sendmail - \d+ errors, \d+ warnings