In Oracle REGEXP
, er is geen \b
patroon dat overeenkomt met woordgrenzen. Een veelgebruikte oplossing ziet er ongeveer zo uit.
SELECT id,
REGEXP_REPLACE (msg_info, '(^|\s|\W)(gold)($|\s|\W)', '\1~\2\3', 1,0,'i')
FROM yourtable;
Hiermee wordt gezocht naar het woord goud aan het begin van de tekenreeks, omgeven door een spatie aan weerszijden, het einde van de tekenreeks of een niet-woordteken (zoals ? of -). \1,\2,\3
vertegenwoordigen de tekens die overeenkomen tussen de 1e, 2e en 3e haakjes.