> print re.sub( 'a.*?b', '', 'ababc' ) > > gives: 'c'
you've forgot "^" at the begging of the pattern (there is another 'ab' before 'c') print re.sub( '^a.*?b', '', 'ababc' ) [EMAIL PROTECTED] wrote: > Can someone please explain why these expressions both produce the same > result? Surely this means that non-greedy regex does not work? > > print re.sub( 'a.*b', '', 'ababc' ) > > gives: 'c' > > Understandable. But > > print re.sub( 'a.*?b', '', 'ababc' ) > > gives: 'c' > > NOT, understandable. Surely the answer should be: 'abc' > -- Maksim Kasimov -- http://mail.python.org/mailman/listinfo/python-list