Oracle não suporta grupos sem captura
(?:)
. Você precisará usar um grupo de captura em vez disso. Ele também não gosta do metacaractere de espaço em branco estilo perl
\s
corresponder dentro de uma classe de caracteres []
(ele corresponderá aos caracteres \
e s
em vez de espaço em branco). Você precisará usar a expressão POSIX [:space:]
em vez de. SQL Fiddle
Configuração do esquema Oracle 11g R2 :
Consulta 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,}')
Resultados :
| STR |
|--------|
| 1234 |
| 12345 |
| 12 135 |