Oracle không hỗ trợ các nhóm không nắm bắt (?:)
. Thay vào đó, bạn sẽ cần sử dụng nhóm chụp.
Nó cũng không thích siêu ký tự khoảng trắng kiểu perl \s
khớp bên trong một lớp ký tự []
(nó sẽ khớp với các ký tự \
và s
thay vì khoảng trắng). Bạn sẽ cần sử dụng biểu thức POSIX [:space:]
thay vào đó.
Thiết lập lược đồ Oracle 11g R2 :
Truy vấn 1 :
select *
from (
select column_value str
from table(sys.dbms_debug_vc2coll('123','1234','12345','12 135', '1', '12 3'))
)
where regexp_like(str, '\d([()[:space:]#-]*\d){3,}')
Kết quả :
| STR |
|--------|
| 1234 |
| 12345 |
| 12 135 |