यह आपकी नियमित अभिव्यक्ति के कारण है। बस . देखने के लिए इसे बदलें लगातार वर्णमाला वर्ण:
select regexp_substr('abc
def
ghi', '[[:alpha:]]+', 1 ,level)
from dual
connect by regexp_substr('abc
def
ghi', '[[:alpha:]]+', 1 ,level) is not null
यह एकल वर्णों के लिए भी कार्य करता है:
select regexp_substr('a
b
c', '[[:alpha:]]+', 1 ,level)
from dual
connect by regexp_substr('a
b
c', '[[:alpha:]]+', 1 ,level) is not null;
आपने टिप्पणी की है:
कृपया शुरू करने के लिए कृपया हमेशा सभी जानकारी को प्रश्न में रखें।
ऐसा लगता है कि आप एक न्यूलाइन कैरेक्टर (कैरिज रिटर्न या कैरिज रिटर्न/लाइन फीड) पर विभाजित होना चाह रहे हैं
जिस स्थिति में आप विभाजित करना चाह रहे हैं जहाँ कुछ नहीं है इन पात्रों में से एक। मैंने यहां सभी नियंत्रण वर्णों का उपयोग किया है क्योंकि मैं आलसी हूं लेकिन यह आपके प्रदत्त डेटा के लिए काम करेगा। यदि आपके पास कुछ बेल वर्ण हैं तो यह काम नहीं करेगा, आपको अधिक विशिष्ट होना होगा।
with the_data as (
select 'a
b
c' as dat
from dual
)
select regexp_substr(dat, '[^[:cntrl:]]+', 1 ,level)
from the_data
connect by regexp_substr(dat, '[^[:cntrl:]]+', 1 ,level) is not null;