> 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

Reply via email to