From 4c655edc4fa7fffc86320e516153d0e0eedc7fdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20B=C3=A1nffy?= Date: Mon, 7 Oct 2019 21:54:35 +0100 Subject: [PATCH] bpo-38294: Add list of no-longer-escaped chars to re.escape documentation. (GH-16442) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- Doc/library/re.rst | 8 +++++--- Doc/tools/susp-ignored.csv | 1 + .../2019-09-27-23-37-41.bpo-38294.go_jFf.rst | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Documentation/2019-09-27-23-37-41.bpo-38294.go_jFf.rst diff --git a/Doc/library/re.rst b/Doc/library/re.rst index df29c4d39090859..7c950bfd5b1fd52 100644 --- a/Doc/library/re.rst +++ b/Doc/library/re.rst @@ -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() diff --git a/Doc/tools/susp-ignored.csv b/Doc/tools/susp-ignored.csv index 1f0cf3fd6ed4435..a0fc874829f5fed 100644 --- a/Doc/tools/susp-ignored.csv +++ b/Doc/tools/susp-ignored.csv @@ -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 index 000000000000000..0bde8c868c9ec07 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2019-09-27-23-37-41.bpo-38294.go_jFf.rst @@ -0,0 +1 @@ +Add list of no-longer-escaped chars to re.escape documentation \ No newline at end of file