Trong Oracle REGEXP
, không có \b
mô hình để phù hợp với ranh giới từ. Một giải pháp thường được sử dụng trông giống như thế này.
SELECT id,
REGEXP_REPLACE (msg_info, '(^|\s|\W)(gold)($|\s|\W)', '\1~\2\3', 1,0,'i')
FROM yourtable;
Thao tác này tìm kiếm từ vàng ở đầu chuỗi, được bao quanh bởi khoảng trắng ở hai bên, cuối chuỗi hoặc ký tự không phải từ (chẳng hạn như? Hoặc -). \1,\2,\3
đại diện cho các ký tự được so khớp trong dấu ngoặc đơn thứ nhất, thứ 2 và thứ 3.