please help me on regular expression

From: Tena Sakai <tsakai(at)gallo(dot)ucsf(dot)edu>
To: "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org>
Subject: please help me on regular expression
Date: 2010-02-02 19:22:54
Message-ID: C78DBD69.918D%tsakai@gallo.ucsf.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi everybody,

I need a bit of help on postgres reqular expression.
With a table of the following definition:

Table "tsakai.pheno"
Column | Type | Modifiers
-----------+-------------------+-----------
subjectid | integer | not null
height | character varying | not null
race | character varying | not null
blood | character varying | not null

I want to catch entries in height column that includes a
decimal point. Here's my attempt:

select subjectid, height
from tsakai.pheno
where height ~ '[:digit:]+.[:digit:]+';

Which returns 0 rows, but if I get rid of where clause,
I get rows like:

subjectid | height
-----------+--------
55379 | 70.5
55383 | 69
55395 | 70
56173 | 71
56177 | 65.5
56178 | 70
. .
. .

And when I escape that dot after first plus sign with a backslash,
like this:
where height ~ '[:digit:]+\.[:digit:]+';
then I get complaint:

WARNING: nonstandard use of escape in a string literal
LINE 3: where height ~ '[:digit:]+\.[:digit:]+';
^
HINT: Use the escape string syntax for escapes, e.g., E'\r\n'.

From there, it was a downward spiral descent...

Please help.

Thank you.

Regards,

Tena Sakai
tsakai(at)gallo(dot)ucsf(dot)edu

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Pavel Stehule 2010-02-02 20:38:42 Re: please help me on regular expression
Previous Message Lee Hachadoorian 2010-02-01 21:14:34 Re: Crosstab Confusion