]> granicus.if.org Git - python/commitdiff
bpo-38294: Add list of no-longer-escaped chars to re.escape documentation. (GH-16442)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 7 Oct 2019 21:07:46 +0000 (14:07 -0700)
committerGitHub <noreply@github.com>
Mon, 7 Oct 2019 21:07:46 +0000 (14:07 -0700)
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 15ae75d660befe643ed42eb2707a557cea97256c)

Co-authored-by: Ricardo Bánffy <rbanffy@gmail.com>
Doc/library/re.rst
Doc/tools/susp-ignored.csv
Misc/NEWS.d/next/Documentation/2019-09-27-23-37-41.bpo-38294.go_jFf.rst [new file with mode: 0644]

index df29c4d3909085981792e7999f6a62eab0f45df0..7c950bfd5b1fd521e5701a660be6dc64b8e69740 100644 (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()
index 1f0cf3fd6ed443536059e2695c087157cfb3ccb5..a0fc874829f5fed73eb32c568735845f061e5a2e 100644 (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,,`,"`"
diff --git a/Misc/NEWS.d/next/Documentation/2019-09-27-23-37-41.bpo-38294.go_jFf.rst b/Misc/NEWS.d/next/Documentation/2019-09-27-23-37-41.bpo-38294.go_jFf.rst
new file mode 100644 (file)
index 0000000..0bde8c8
--- /dev/null
@@ -0,0 +1 @@
+Add list of no-longer-escaped chars to re.escape documentation
\ No newline at end of file