Steve Newcomb <s...@coolheads.com> added the comment:

I'm very grateful for your time and attention, and sorry to have distracted 
you.  You're correct when you say:  

Steven D'Aprano: ...the rightmost alternative matches from position 1 of the 
text, while the leftmost alternative doesn't match until position 8. So 
starting from position 0, the IPV6 check matches first, and so wins.

I see now that what I was trying to do is simply not possible. I was looking 
for a way to do a kind of hat trick: to keep a matched substring ("::ffff:") 
out of matchObject.group(0).  I guess I just don't get to do that.  

It would be a nice feature to add: a "consume-and-forget" or "suppress" 
extension group type. Non-capturing groups forget about themselves, but they 
don't suppress their matched contents.  It's a nice thing to be able to do 
because some software accepts regular expressions as configuration items but 
doesn't allow configuration of selection among the groups that may appear 
within it.  (I admit there aren't many occasions when suppression of substrings 
from group(0) is really necessary, but I think they do occur.)

----------
stage:  -> resolved
status: open -> closed

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

Reply via email to