On Tue, 20 May 2008, Dmitry Vasiliev wrote: > I've just found a strange re behavior: > > >>> import re > >>> re.sub("(?:ab|b|a)", "+", "cbacbabcabc") > 'c++c++c+c' > >>> re.sub("(?:ab|b|a){2}", "+", "cbacbabcabc") > 'c+c+c+c' > > In the last case |-separated expressions seems don't tried from left to right. > Is it bug or just me?
What were you expecting, 'c+c+cabc'? The re engine should try everything possible for a match with the entire re, not just match the first thing it finds for each section. -- Cheers, Leif _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com