New submission from mollison <molli...@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@python components: Documentation messages: 340370 nosy: docs@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 <rep...@bugs.python.org> <https://bugs.python.org/issue36645> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com