Обсуждение: regexp_replace() [noindex] thing
Hi!
I'm using tsearch2 and sometimes there are blocks of text that shouldn't
be indexed.
There is a trigger function that gathers data from the usual suspects
and updates the index. in this trigger, I'd like to exclude thing in a
[noindex] tag:
select
regexp_replace
('innan[noindex]apa[/noindex]klas[noindex]banan[/noindex]',
'(\\\[noindex\\\])+.*?(\\\[/noindex\\\])+',
' ')
I would like to have a function like the above that returns "innan klas"
for this data. I would have expected it to as I use the non greedy version.
Could someone please point me in the general direction here?
Best regards,
Marcus
Marcus Engene <mengpg2@engene.se> writes:
> I would like to have a function like the above that returns "innan klas"
> for this data. I would have expected it to as I use the non greedy version.
regression=# select
regexp_replace
('innan[noindex]apa[/noindex]klas[noindex]banan[/noindex]',
'\\[noindex\\].*?\\[/noindex\\]',
' ', 'g');
regexp_replace
----------------
innan klas
(1 row)
regards, tom lane
Tom Lane wrote:
> Marcus Engene <mengpg2@engene.se> writes:
>
>> I would like to have a function like the above that returns "innan klas"
>> for this data. I would have expected it to as I use the non greedy version.
>>
>
> regression=# select
> regexp_replace
> ('innan[noindex]apa[/noindex]klas[noindex]banan[/noindex]',
> '\\[noindex\\].*?\\[/noindex\\]',
> ' ', 'g');
> regexp_replace
> ----------------
> innan klas
> (1 row)
Super!
Best regards,
Marcus