Boost logo

Boost Users :

Subject: Re: [Boost-users] regular expression problems
From: John Maddock (john_at_[hidden])
Date: 2009-04-23 12:05:00


> Sorry, but this strays a little from actual boost. Since there are a
> handful of you that are probably using regex, I was hoping someone could
> help with syntax.
>
> I have a regex that validates a latitude format.
>
>
>
> These are the restrictions:
>
> Must have an N or S as first letter.
>
> It can be all values from 0.0 to 90.0
>
> My first shot at it confirmed format, but not data constraints:
> "(N|S)\\d{2}\\.\\d{1,6} <file:///\\d%7b2%7d\d%7b1,6%7d> "
>
> But any attempts to limit the constraints caused an exception in regex.
> Is
> there something wrong w/ how I formatted this:
> "(N|S)(9[0]\\.0{1-6}|[0-8]\\d\\.\\d{1-6}
> <file:///\\.0%7b1-6%7d|[0-8]\d\d%7b1-6%7d> )"
>
>
>
> To me, it reads: 1st char must be N|S
>
> If second char is 9, the next chars must be 0.0 through 0.000000
>
> Else
>
> If char is 0-8, then the next just has to be digits [0-9].[0-9]{1-6}
>
>
>
> Can anyone tell me what I am doing wrong?

There are no numeric constraints available in the regular expression
language, and the {} operator are for constrained repeats with 1{1-6} not
being a valid syntax.

How about something like:

(N|S)\\d(\\.\\d+|[1-8](\\.\\d+)?|9(\\.0+)?)?

HTH, John.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net