Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

कैसे Oracle नियमित अभिव्यक्ति के साथ स्ट्रिंग से सभी संख्या अनुक्रमों को बाहर निकालने के लिए?

इसे आजमाएं:

with t(d) as (
  select '<efwewfsdf/>
<asdf>
<qwe>
<rej:aaa ns2=rnsjvnsvjrlntjnbsnbltdbk">64-0203-0875/4</rej:aaa>
<rej:bbb ns2=bmtbrbpnrtusrnbdbd k">06396</rej:bbb>
<rej:ccc ns2=vmkfbkmbkfmgkmfgkbgfk">4567650</rej:ccc>
<rej:ddd ns2=zxczxczczxczxczxk">402341198</rej:ddd>
<rej:eee ns2=asdasdasdazxck">723112</rej:eee>
<rej:eee ns2=adasdasdawawqweqwek">342253</rej:eee>
<rej:eee ns2=bgbgfnnhnhnhnhnhnk">656345</rej:eee>
<rej:fff ns2=ewretyrtyghnk">352</rej:fff>
<rej:ggg ns2="vzxczdvdbdfgs">asd.Gdsa</rej:ggg>
<rej:hhh ns2="zcsasdqwfwgerbyn">W1_22</rej:hhh>
</qwe>
</asdf>' from dual 
), t1(d) as (
select SUBSTR(d, REGEXP_INSTR(d, '<[A-Za-z]{3}:', 1, level), REGEXP_INSTR(d, '</rej:[A-Za-z]{3}>', 1, level) - REGEXP_INSTR(d, '<[A-Za-z]{3}:', 1, level))
  from t
connect by rownum < LENGTH(d) - LENGTH(REGEXP_REPLACE(d, ':[A-Za-z]{3}>', ''))
)
select REGEXP_REPLACE(d, '^<rej:.*">', '') ff from t1

FF
--------------
64-0203-0875/4
06396
4567650
402341198
723112
342253
656345
352
asd.Gdsa
W1_22



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका से DISTINCT CLOB_COLUMN चुनें;

  2. पता लगाएँ कि क्या किसी स्ट्रिंग में केवल ASCII वर्ण हैं

  3. ओरेकल में जावा संग्रहीत प्रक्रिया में जार फ़ाइलों को कैसे शामिल करें?

  4. जेडीबीसी के माध्यम से यूजर पासवर्ड बदलें। प्रश्न चिह्न वाले पास की समस्या

  5. होस्ट (विंडोज़) से वर्चुअलबॉक्स में ओरेकल डीबी का उपयोग कैसे करें