Oracle गैर-कैप्चरिंग समूहों का समर्थन नहीं करता (?:)
. इसके बजाय आपको एक कैप्चरिंग समूह का उपयोग करना होगा।
इसे पर्ल-स्टाइल व्हाइटस्पेस मेटा-कैरेक्टर \s
. भी पसंद नहीं है एक वर्ण वर्ग के अंदर मिलान करें []
(यह वर्णों से मेल खाएगा \
और s
व्हाइटस्पेस के बजाय)। आपको POSIX एक्सप्रेशन [:space:]
. का इस्तेमाल करना होगा इसके बजाय।
Oracle 11g R2 स्कीमा सेटअप :
क्वेरी 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 |