V Oracle REGEXP
, neexistuje žádný \b
vzor, který odpovídá hranicím slov. Běžně používané řešení vypadá asi takto.
SELECT id,
REGEXP_REPLACE (msg_info, '(^|\s|\W)(gold)($|\s|\W)', '\1~\2\3', 1,0,'i')
FROM yourtable;
Toto vyhledá slovo gold na začátku řetězce, obklopené mezerou na obou stranách, na konci řetězce nebo neslovným znakem (jako je ? nebo -). \1,\2,\3
představují znaky odpovídající v 1., 2. a 3. závorce.