Oracle unterstützt keine nicht erfassenden Gruppen (?:)
. Sie müssen stattdessen eine Erfassungsgruppe verwenden.
Es mag auch nicht das Whitespace-Metazeichen \s
im Perl-Stil Übereinstimmung innerhalb einer Zeichenklasse []
(Es entspricht den Zeichen \
und s
statt Leerzeichen). Sie müssen den POSIX-Ausdruck [:space:]
verwenden stattdessen.
Oracle 11g R2-Schema-Setup :
Abfrage 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 |