Di Oracle REGEXP
, tidak ada \b
pola untuk mencocokkan batas kata. Solusi yang umum digunakan terlihat seperti ini.
SELECT id,
REGEXP_REPLACE (msg_info, '(^|\s|\W)(gold)($|\s|\W)', '\1~\2\3', 1,0,'i')
FROM yourtable;
Ini mencari kata emas di awal string, dikelilingi oleh spasi di kedua sisi, akhir string, atau karakter non-kata (seperti ? atau -). \1,\2,\3
mewakili karakter yang cocok dalam tanda kurung 1, 2 dan 3.