Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle REGEXP_LIKE và ranh giới từ

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).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY với MAX (DATE)

  2. Chạy Oracle Client ở chế độ 32 bit trên máy 64 bit

  3. Hiểu về Java của Oracle trên Mac

  4. Cách tính hệ số phân cụm chỉ số Oracle

  5. Từ khóa 'Partition By' và 'Row_Number' của Oracle