In Oracle REGEXP
, non c'è \b
modello per abbinare i confini delle parole. Una soluzione comunemente usata assomiglia a questa.
SELECT id,
REGEXP_REPLACE (msg_info, '(^|\s|\W)(gold)($|\s|\W)', '\1~\2\3', 1,0,'i')
FROM yourtable;
Questo cerca la parola gold all'inizio della stringa, circondata da uno spazio su entrambi i lati, la fine della stringa o un carattere diverso da una parola (come ? o -). \1,\2,\3
rappresentano i caratteri abbinati tra la prima, la seconda e la terza parentesi.