Re: POSIX-style regular expressions - Mailing list pgsql-sql

From Tom Lane
Subject Re: POSIX-style regular expressions
Date
Msg-id 19730.1031670915@sss.pgh.pa.us
Whole thread Raw
In response to Re: POSIX-style regular expressions  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List pgsql-sql
Stephan Szabo <sszabo@megazone23.bigpanda.com> writes:
> On Tue, 10 Sep 2002, Goran Buzic wrote:
>> id1    char(6) NOT NULL CHECK(id1 ~* '^([0-9]{1,2}\.){2}$'),

> Bad column type choice.  char(6) is space padded, so 1.2. looks like
> "1.2.  ".  For me, 12.12. works, but any shorter one fails.  Unless
> you need space padding elsewhere, you may just want to use varchar(6);

Also, the backslash has to be doubled to get through the string literal
parser, so what you really want is

id1    varchar(6) NOT NULL CHECK(id1 ~* '^([0-9]{1,2}\\.){2}$'),

else it will accept values you don't want...
        regards, tom lane


pgsql-sql by date:

Previous
From: "Ross J. Reedstrom"
Date:
Subject: Re: POSIX-style regular expressions
Next
From: "Michael Paesold"
Date:
Subject: Rules and Triggers