Oracle tidak mendukung grup yang tidak menangkap (?:)
. Anda harus menggunakan grup penangkap sebagai gantinya.
Itu juga tidak menyukai karakter meta spasi putih gaya Perl \s
cocok di dalam kelas karakter []
(ini akan cocok dengan karakter \
dan s
bukannya spasi). Anda harus menggunakan ekspresi POSIX [:space:]
sebagai gantinya.
Pengaturan Skema Oracle 11g R2 :
Kueri 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,}')
Hasil :
| STR |
|--------|
| 1234 |
| 12345 |
| 12 135 |