[docs] [issue36645] re.sub() library entry does not adequately document surprising change in behavior between versions

mollison report at bugs.python.org
Tue Apr 16 18:42:59 EDT 2019


New submission from mollison <mollison at cs.unc.edu>:

This is regarding the change to re.sub() between 3.6 and 3.7 that results in different behavior even for simple cases like the following:

re.sub('a*','b', 'a') returns 'b' in 3.6 and 'bb' in 3.7

This change is well documented here:
https://docs.python.org/3/whatsnew/3.7.html#changes-in-the-python-api

However, it is not well documented here:
https://docs.python.org/3.7/library/re.html

The latter document does actually contain the appropriate text: "Empty matches for the pattern are replaced when adjacent to a previous non-empty match."

However, the formatting makes this text look like it was always there, and is not part of the 3.7 changes announcement.

That is how I interpreted it, leading to some lost productivity.

After so many years, people don't expect the regex engine to change like this, and that only makes it easier to misinterpret that text as always have been there vs. being new to 3.7.

Related:
https://bugs.python.org/issue32308

----------
assignee: docs at python
components: Documentation
messages: 340370
nosy: docs at python, mollison
priority: normal
severity: normal
status: open
title: re.sub() library entry does not adequately document surprising change in behavior between versions
versions: Python 3.7

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue36645>
_______________________________________


More information about the docs mailing list