Serhiy Storchaka added the comment:

I see two options:

* Compare flags, isbytes and code. This makes some different patterns be 
compiled to equal objects. For example spaces in verbose mode are ignored. But 
this don't make equal all equivalent patterns. '[aA]' would be equal to 
'(?:a|A)' but still would be not equal to '(i?a)' with current implementation.

* Compare flags, isbytes, code and pattern. This makes literally different 
patterns be compiled to not equal objects even if the difference is not 
significant. '[abc]' would be different from '[cba]' despites the fact that 
matching both always returns the same result.

Since this issue becomes a little ambiguous, I would target the patch to 3.7 
only. Maybe we will find other subtle details or will decide to change the 
meaning of equality of pattern objects before releasing 3.7.

----------

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

Reply via email to