Regexp \
. का उपयोग नहीं करते -
protect की सुरक्षा के लिए एक ब्रैकेट एक्सप्रेशन . में . आपको सिर्फ -
डालना है पहले अक्षर के रूप में, शुरुआती कोष्ठक के ठीक बाद:
IF REGEXP_LIKE('--,,::', '[\-,:]*')
...
=> ORA-12728: invalid range in regular expression
यदि आप उत्सुक हैं, तो [\-,:]
. का सामना करते समय Oracle समझते हैं:"\
. से श्रेणी में कोई भी वर्ण करने के लिए ,
या वर्ण :
" . इसका एक अपवाद उत्पन्न करने का कारण \
है बाद . प्रतीत होता है ,
उनके ASCII मूल्य के अनुसार। और Oracle श्रेणी को स्वीकार नहीं करता है समाप्त होने के बाद प्रारंभिक मान होना।
दूसरी ओर:
IF REGEXP_LIKE('--,,::', '[-,:]*')
उम्मीद के मुताबिक काम करता है।
<उप>एक साइड नोट के रूप में,
[-,:]{0,1}
अर्थ "शून्य या एक बार फिर -
या ,
या :
" लिखा जा सकता है [-,:]?
.उप>