Tôi tin rằng bạn muốn thử
select 1 from dual
where regexp_like ('does test work here', '(^|\s)test(\s|$)');
bởi vì \b
không xuất hiện trong danh sách này:Phần mở rộng bị ảnh hưởng bởi Perl trong Biểu thức chính quy của Oracle
\s
đảm bảo rằng kiểm tra bắt đầu và kết thúc trong một khoảng trắng. Tuy nhiên, điều này là chưa đủ vì chuỗi test
cũng có thể xuất hiện ở đầu hoặc cuối của chuỗi được so khớp. Do đó, tôi sử dụng thay thế (được chỉ ra bởi |
) ^
cho phần đầu của chuỗi và $
cho cuối chuỗi.
Cập nhật (sau 3 năm trở lên) ... Khi điều đó xảy ra, tôi cần chức năng này hôm nay và tôi thấy rằng một biểu thức chính quy thậm chí còn tốt hơn là (^|\s|\W)test($|\s|\W)
(Thiếu ký tự đặc biệt của biểu thức chính quy \ b trong Oracle).