Oracle ne prend pas en charge les groupes sans capture (?:)
. Vous devrez utiliser un groupe de capture à la place.
Il n'aime pas non plus le méta-caractère d'espace blanc de style perl \s
correspondance à l'intérieur d'une classe de caractères []
(il correspondra aux caractères \
et s
au lieu d'espaces blancs). Vous devrez utiliser l'expression POSIX [:space:]
à la place.
Configuration du schéma Oracle 11g R2 :
Requête 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,}')
| STR |
|--------|
| 1234 |
| 12345 |
| 12 135 |