bpo-30021: Add examples for re.escape(). (#1048)

And fix the parameter name.
This commit is contained in:
Serhiy Storchaka 2017-04-13 19:17:36 +03:00 committed by GitHub
parent 7b2491a6aa
commit 8fc7bc2b76
2 changed files with 16 additions and 3 deletions

View File

@ -784,11 +784,22 @@ form.
Unmatched groups are replaced with an empty string. Unmatched groups are replaced with an empty string.
.. function:: escape(string) .. function:: escape(pattern)
Escape all the characters in pattern except ASCII letters, numbers and ``'_'``. Escape all the characters in *pattern* except ASCII letters, numbers and ``'_'``.
This is useful if you want to match an arbitrary literal string that may This is useful if you want to match an arbitrary literal string that may
have regular expression metacharacters in it. have regular expression metacharacters in it. For example::
>>> print(re.escape('python.exe'))
python\.exe
>>> legal_chars = string.ascii_lowercase + string.digits + "!#$%&'*+-.^_`|~:"
>>> print('[%s]+' % re.escape(legal_chars))
[abcdefghijklmnopqrstuvwxyz0123456789\!\#\$\%\&\'\*\+\-\.\^_\`\|\~\:]+
>>> operators = ['+', '-', '*', '/', '**']
>>> print('|'.join(map(re.escape, sorted(operators, reverse=True))))
\/|\-|\+|\*\*|\*
.. versionchanged:: 3.3 .. versionchanged:: 3.3
The ``'_'`` character is no longer escaped. The ``'_'`` character is no longer escaped.

View File

@ -302,6 +302,8 @@ whatsnew/3.2,,:feed,>>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:
whatsnew/3.2,,:gz,">>> with tarfile.open(name='myarchive.tar.gz', mode='w:gz') as tf:" whatsnew/3.2,,:gz,">>> with tarfile.open(name='myarchive.tar.gz', mode='w:gz') as tf:"
whatsnew/3.2,,:location,zope9-location = ${zope9:location} whatsnew/3.2,,:location,zope9-location = ${zope9:location}
whatsnew/3.2,,:prefix,zope-conf = ${custom:prefix}/etc/zope.conf whatsnew/3.2,,:prefix,zope-conf = ${custom:prefix}/etc/zope.conf
library/re,,`,!#$%&'*+-.^_`|~:
library/re,,`,\!\#\$\%\&\'\*\+\-\.\^_\`\|\~\:
library/tarfile,,:xz,'x:xz' library/tarfile,,:xz,'x:xz'
library/xml.etree.elementtree,,:sometag,prefix:sometag library/xml.etree.elementtree,,:sometag,prefix:sometag
library/xml.etree.elementtree,,:fictional,"<actors xmlns:fictional=""http://characters.example.com""" library/xml.etree.elementtree,,:fictional,"<actors xmlns:fictional=""http://characters.example.com"""

1 c-api/arg :ref PyArg_ParseTuple(args, "O|O:ref", &object, &callback)
302 whatsnew/3.2 :gz >>> with tarfile.open(name='myarchive.tar.gz', mode='w:gz') as tf:
303 whatsnew/3.2 :location zope9-location = ${zope9:location}
304 whatsnew/3.2 :prefix zope-conf = ${custom:prefix}/etc/zope.conf
305 library/re ` !#$%&'*+-.^_`|~:
306 library/re ` \!\#\$\%\&\'\*\+\-\.\^_\`\|\~\:
307 library/tarfile :xz 'x:xz'
308 library/xml.etree.elementtree :sometag prefix:sometag
309 library/xml.etree.elementtree :fictional <actors xmlns:fictional="http://characters.example.com"