Re: Reverse pattern match.
От | Moonstruck |
---|---|
Тема | Re: Reverse pattern match. |
Дата | |
Msg-id | 3f431856$0$15134$afc38c87@news.optusnet.com.au обсуждение исходный текст |
Ответ на | Reverse pattern match. ("Moonstruck" <bogus.email@pls-relpy-to.group>) |
Список | pgsql-sql |
Many thanks... got it now. Example... sox=# select * from regexpatt;pattern | description ---------+------------------------------------^b | starts with a B^a | starts with an A^c.*l$ | starts with aC and ends with an L (3 rows) sox=# select description from regexpatt where 'bravo' ~ pattern; description ----------------starts with a B (1 row) sox=# select description from regexpatt where 'caramel' ~ pattern; description ------------------------------------starts with a C and ends with an L (1 row) "Josh Berkus" <josh@agliodbs.com> wrote in message news:200308181611.27937.josh@agliodbs.com... 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 ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html
В списке pgsql-sql по дате отправления: