Regular express question
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
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
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