• Gustavo Niemeyer's avatar
    Applied patch #725106, by Greg Chapman, fixing capturing groups · c34f2555
    Gustavo Niemeyer authored
    within repeats of alternatives. The only change to the original
    patch was to convert the tests to the new test_re.py file.
    
    This patch fixes cases like:
    
    >>> re.match('((a)|b)*', 'abc').groups()
    ('b', '')
    
    Which is wrong (it's impossible to match the empty string),
    and incompatible with other regex systems, like the following
    examples show:
    
    % perl -e '"abc" =~ /^((a)|b)*/; print "$1 $2\n";'
    b a
    
    % echo "abc" | sed -r -e "s/^((a)|b)*/\1 \2|/"
    b a|c
    c34f2555
_sre.c 82.8 KB