bpo-38294: Add list of no-longer-escaped chars to re.escape documentation. (GH-16442)

Prior to 3.7, re.escape escaped many characters that don't have
special meaning in Python, but that use to require escaping in other
tools and languages. This commit aims to make it clear which characters
were, but are no longer escaped.
(cherry picked from commit 15ae75d660)

Co-authored-by: Ricardo Bánffy <rbanffy@gmail.com>
This commit is contained in:
Miss Islington (bot) 2019-10-07 14:07:46 -07:00 committed by GitHub
parent 435b2eeb7b
commit b731fc521c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 3 deletions

View File

@ -931,8 +931,8 @@ form.
This is useful if you want to match an arbitrary literal string that may
have regular expression metacharacters in it. For example::
>>> print(re.escape('python.exe'))
python\.exe
>>> print(re.escape('http://www.python.org'))
http://www\.python\.org
>>> legal_chars = string.ascii_lowercase + string.digits + "!#$%&'*+-.^_`|~:"
>>> print('[%s]+' % re.escape(legal_chars))
@ -955,7 +955,9 @@ form.
.. versionchanged:: 3.7
Only characters that can have special meaning in a regular expression
are escaped.
are escaped. As a result, ``'!'``, ``'"'``, ``'%'``, ``"'"``, ``','``,
``'/'``, ``':'``, ``';'``, ``'<'``, ``'='``, ``'>'``, ``'@'``, and
``"`"`` are no longer escaped.
.. function:: purge()

View File

@ -354,3 +354,4 @@ whatsnew/changelog,,::,default::BytesWarning
whatsnew/changelog,,::,default::DeprecationWarning
library/importlib.metadata,,:main,"EntryPoint(name='wheel', value='wheel.cli:main', group='console_scripts')"
library/importlib.metadata,,`,loading the metadata for packages for the indicated ``context``.
library/re,,`,"`"

Can't render this file because it contains an unexpected character in line 334 and column 55.

View File

@ -0,0 +1 @@
Add list of no-longer-escaped chars to re.escape documentation