Serhiy Storchaka <storchaka+cpyt...@gmail.com> added the comment:

This is intentional change.

Prior to 3.7 re.sub() didn't replace empty matches adjacent to a previous 
non-empty match. In 3.7 it does. Together with other changes this made all four 
functions that search multiple matches of the pattern (re.findall(), 
re.finditer(), re.split() and re.sub()) consistent.

In your example the pattern matches not only from " COLLATE" to the end of 
input string, but an empty string at the end of input string. If you do not 
want matching an empty string, just remove the '?' qualifier.

----------
nosy: +serhiy.storchaka
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue32998>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to