On Aug 12, 1:42 pm, Martin <mdeka...@gmail.com> wrote: > On Aug 12, 1:23 pm, Steven D'Aprano <st...@remove-this- > > > > cybersource.com.au> wrote: > > On Wed, 12 Aug 2009 05:12:22 -0700, Martin wrote: > > > I tried > > > > re.findall((\w+COORDINATE).*\s+VALUE\s+=\s([\d\.\w-]+),s) > > > You need to put quotes around strings. > > > In this case, because you're using regular expressions, you should use a > > raw string: > > > re.findall(r"(\w+COORDINATE).*\s+VALUE\s+=\s([\d\.\w-]+)",s) > > > will probably work. > > > -- > > Steven > > Thanks I see. > > so I tried it and if I use it as it is, it matches the first instance: > I > n [594]: re.findall(r"(\w+COORDINATE).*\s+VALUE\s+=\s([\d\.\w-]+)",s) > Out[594]: [('NORTHBOUNDINGCOORDINATE', '1')] > > So I adjusted the first part of the regex, on the basis I could sub > NORTH for SOUTH etc. > > In [595]: re.findall(r"(NORTHBOUNDINGCOORDINATE).*\s+VALUE\s+=\s([\d\. > \w-]+)",s) > Out[595]: [('NORTHBOUNDINGCOORDINATE', '1')] > > But in both cases it doesn't return the decimal value rather the value > that comes after NUM_VAL = , rather than VALUE = ?
I think I kind of got that to work...but I am clearly not quite understanding how it works as I tried to use it again to match something else. In this case I want to print the values 0.000000 and 2223901.039333 from a string like this... YDim=1200\n\t\tUpperLeftPointMtrs=(0.000000,2223901.039333)\n\t\t I tried which I though was matching the statement and printing the decimal number after the equals sign?? re.findall(r"(\w+UpperLeftPointMtrs)*=\s([\d\.\w-]+)", s) where s is the string Many thanks for the help -- http://mail.python.org/mailman/listinfo/python-list