[mapserver-users] CLASS EXPRESSION regex help?

Johan Forsman Johan.Forsman at LA.GOV
Fri Jul 23 11:37:27 EDT 2010


Hi Steve, and thanks for the reply.

I was under the impression that the CLASS expression did not support SQL-type syntax, that only the FILTER expression did?

I had originally tried using

EXPRESSION "orgid NOT LIKE 'LADE%'"

and although no errors are indicated, no records are returned either.

I just tried

EXPRESSION /^[^LADE]/

which does draw the other points, but I haven't yet counted the records to verify if the numbers add up or if that syntax excludes some records. As I warned, regex neophyte! I am getting the impression it's even more complicated than it looks.

However, the response from Steve Lime appears to have provided a solution that works in this instance.

Thanks for the help!
/Johan.


From: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Steve Grey
Sent: Friday, July 23, 2010 9:47 AM
To: mapserver-users at lists.osgeo.org
Subject: Re: [mapserver-users] CLASS EXPRESSION regex help?

Johan,

You are having success looking for records that match a pattern starting with 'LADE' - similar to using 'LIKE' - but are getting stuck looking for records matching a pattern that doesn't start with 'LADE'.

Try an approach along the lines of NOT LIKE.

Steve


On 23 July 2010 15:20, Johan Forsman <Johan.Forsman at la.gov<mailto:Johan.Forsman at la.gov>> wrote:
All:

Regex neophyte, using MS 5.4.2 in FGS on Ubuntu Server 9.10, I wish to render two classes based on content in a PostGIS field.

For the first CLASS I want all records that start with "LADE", and using

NAME "LADE"
EXPRESSION /^LADE.*/

appears to return the expected records.

However, for the second CLASS I want all records that DO NOT start with "LADE", but using

NAME "Other"
EXPRESSION /^(?!LADE).*/

does not return any records and the log contains

msEvalExpression() error: Regular expression error. Invalid regular expression.

Examples out in the ether all indicate that this "negative lookahead" is supposed to do exactly what I want.

What am I doing wrong in this instance?

Thanks!
/Johan.

----------------------
Johan Forsman
Geologist
Safe Drinking Water Program
Louisiana Department of Health and Hospitals
Office of Public Health
Telephone: 225.342.7309
Telefax: 225.342.7303


_______________________________________________
mapserver-users mailing list
mapserver-users at lists.osgeo.org<mailto:mapserver-users at lists.osgeo.org>
http://lists.osgeo.org/mailman/listinfo/mapserver-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20100723/644b8a0e/attachment-0001.html


More information about the mapserver-users mailing list