Re: Reverse pattern match. - Mailing list pgsql-sql

From Josh Berkus
Subject Re: Reverse pattern match.
Date
Msg-id 200308181611.27937.josh@agliodbs.com
Whole thread Raw
In response to Reverse pattern match.  ("Moonstruck" <bogus.email@pls-relpy-to.group>)
Responses logging messages from inside pgPLSQL routine?
List pgsql-sql
Moonstruck,

> I want to create a table of  regular expression patterns (for assessing
> phone numbers), something like:
> CREATE TABLE CallType ( pattern varchar primary key,
>                         type    varchar,
>                         rate    int4);
> INSERT INTO CallType VALUES ('0[3-9]________','Interstate Call',50);
> INSERT INTO CallType VALUES ('9_______','Local Call',25);
> INSERT INTO CallType VALUES ('0011__________%','International Call',100);

PostgreSQL supports real Regular Expressions, via the ~ operator.   See "~"
under "functions and operators", and then consult your favorite book or
online ressouce on how to compose regexps.

An example of "is not in 415 area code" would be
phone_no ~ '^415\d{7}'
which should be "415" at the beginning followed by at least 7 other digits.

(Folks, please correct my regex code if it's bad!)

The disadvantage to this approach is that it cannot be indexed.

--
-Josh BerkusAglio Database SolutionsSan Francisco



pgsql-sql by date:

Previous
From: Rod Taylor
Date:
Subject: Re: Reverse pattern match.
Next
From: "Vernon Smith"
Date:
Subject: Inheritance or no inheritance, there is a question