【轉】Oracle 正規表示式函式-REGEXP_INSTR 使用例子

散葉涔發表於2012-04-22

6個引數

第一個是輸入的字串

第二個是正規表示式

第三個是標識從第幾個字元開始正規表示式匹配。(預設為1

第四個是標識第幾個匹配組。(預設為1

第五個是指定返回值的型別,如果該引數為0,則返回值為匹配位置的第一個字元,如果該值為非0則返回匹配值的最後一個位置。

第六個是是取值範圍:

i:大小寫不敏感;

c:大小寫敏感;

n:點號 . 不匹配換行符號;

m:多行模式;

x:擴充套件模式,忽略正規表示式中的空白字元。

全部測試資料

SQL> select * from test_reg_substr;

A

-----------------------------------

ABC123XYZ

ABC123XYZ456

Edward

找數字

SQL> SELECT

2 REGEXP_INSTR(a,'[0-9]+') AS A

3 FROM

4 test_reg_substr;

A

----------

4

4

0

找數字(從第一個字母開始匹配,找第1個匹配專案的最後一個字元的位置)

SQL> SELECT

2 REGEXP_INSTR (a,'[0-9]+', 1,1, 1) AS A

3 FROM

4 test_reg_substr;

A

----------

7

7

0

找數字(從第一個字母開始匹配,找第2個匹配專案)

SQL> SELECT

2 REGEXP_INSTR (a,'[0-9]+', 1,2) AS A

3 FROM

4 test_reg_substr;

A

----------

0

10

0

找數字(從第一個字母開始匹配,找第2個匹配專案的最後一個字元的位置)

SQL> SELECT

2 REGEXP_INSTR (a,'[0-9]+', 1,2, 1) AS A

3 FROM

4 test_reg_substr;

A

----------

0

13

0

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26892340/viewspace-721963/,如需轉載,請註明出處,否則將追究法律責任。

相關文章