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

Reply via email to