RE Module

Tim Chase python.list at tim.thechases.com
Fri Aug 25 18:03:57 EDT 2006


> ######################################
> import re
> 
> s = 'xxxxxxx0'
> 
> m = re.search("x*", s)
> print "First way", m.group(0)
> 
> m = re.search("x*?", s)
> print "Second way", m.group(0)
> #####################################
> First way xxxxxxx
> Second way
> 
> So now I'm really confused.  It didn't do a non-greedy
> 'x' match, nor did it allow the '?' to match the '0'.

it did do a non-greedy match.  It found as few "x"s as possible. 
  it found 0 of them, and quit.  For a better test, use

s = '<tag 1><tag 2>'
print re.search('<tag.*?>',s).group(0)
print re.search('<tag.*>',s).group(0)

(the question/problem at hand)

-tkc







More information about the Python-list mailing list