matching patterns after regex?

Martin mdekauwe at gmail.com
Wed Aug 12 08:42:52 EDT 2009


On Aug 12, 1:23 pm, Steven D'Aprano <st... at 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 = ?





More information about the Python-list mailing list