1. 程式人生 > >Oracle正則表示式REGEXP_SUBSTR用法

Oracle正則表示式REGEXP_SUBSTR用法

一、正則表示式匹配規則。

在別人那裡看到一篇文章,這裡對匹配規則記錄的可以說是非常詳細了


二、例項說明: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

執行結果: