Regular express question

Started by David Goodenoughalmost 19 years ago3 messagesgeneral
Jump to latest
#1David Goodenough
david.goodenough@btconnect.com

I have a table that consists of a set of regular expressions, a priority
and a result. I need to be able to match field in another table against
the set of regular expressions (ordered by priority) and use the first result.

Reading the documentation I can see how to put the regular expression
into an SQL statement (that is as text or a ? which my code provides) but
I can not see how to get the expression from the table.

David

#2David Goodenough
david.goodenough@btconnect.com
In reply to: David Goodenough (#1)
Re: Regular express question

On Friday 22 June 2007, David Goodenough wrote:

I have a table that consists of a set of regular expressions, a priority
and a result. I need to be able to match field in another table against
the set of regular expressions (ordered by priority) and use the first
result.

Reading the documentation I can see how to put the regular expression
into an SQL statement (that is as text or a ? which my code provides) but
I can not see how to get the expression from the table.

David

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

OK, I worked it out for myself. Of course I can put a field name on the
right hand side of the SIMILAR TO and the ? on the left had side, then it
works just as you would expect. So:-

select result from rules where ? similar to "rule" order by priority limit 1

gives me the answer I want.

David

#3Albe Laurenz
all@adv.magwien.gv.at
In reply to: David Goodenough (#1)
Re: Regular express question

David Goodenough wrote:

I have a table that consists of a set of regular expressions, a

priority

and a result. I need to be able to match field in another table

against

the set of regular expressions (ordered by priority) and use the first

result.

Reading the documentation I can see how to put the regular expression
into an SQL statement (that is as text or a ? which my code provides)

but

I can not see how to get the expression from the table.

The only way I can see is to write a function in - say - PL/pgSQL.

Yours,
Laurenz Albe