From: Josh Berkus <josh@agliodbs.com>
To: Moonstruck <bogus.email@pls-relpy-to.group>
To: pgsql-sql@postgresql.org
Subject: Re: Reverse pattern match.
Date: Mon, 18 Aug 2003 16:11:27 -0700
Message-ID: <200308181611.27937.josh@agliodbs.com> (raw)
In-Reply-To: <3f407aa4$0$15136$afc38c87@news.optusnet.com.au>
References: <3f407aa4$0$15136$afc38c87@news.optusnet.com.au>
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 Berkus
Aglio Database Solutions
San Francisco
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: josh@agliodbs.com, bogus.email@pls-relpy-to.group
Subject: Re: Reverse pattern match.
In-Reply-To: <200308181611.27937.josh@agliodbs.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox