Oracle正則表示式REGEXP_SUBSTR用法
阿新 • • 發佈:2018-12-17
一、正則表示式匹配規則。
在別人那裡看到一篇文章,這裡對匹配規則記錄的可以說是非常詳細了
二、例項說明:Regexp_Substr()
2.1:Regexp_Substr() 與Substr()的區別。
兩者的本質都是擷取,不過前者可以傳入擷取引數,比如根據什麼來擷取,以及獲取擷取到的第幾組內容;
後者只能傳入擷取開始位置,擷取長度來獲取擷取內容。
相比來說,正則的功能強大的多,等於Substr+instr 雙函式的使用。
2.2:Regexp_Substr()引數詳解
Regexp_Substr(String,pattern,position,occurrence ,modifier )一共包含了五個引數:
String:操作的字串;
pattern:正則表示式匹配規則,匹配到則返回;
position:開始匹配的位置,預設當然是1;
occurrence:標識第幾個匹配組,預設為1
modifier:模式(‘i‘不區分大小寫進行檢索,‘c‘區分大小寫進行檢索。預設為‘c‘)
2.3:舉例說明
Select level, 'SEGMENT' || To_Number(Regexp_Substr('1,2,3,', '[0-9]+', 1, Level)) x From Dual Connect By Level <= 3
執行結果: