標籤:大小寫 分行符號 第一個字元 blog 多行 rom bst acl views
原文在這 戳
REGEXP_INSTR
6個參數
第一個是輸入的字串
第二個是Regex
第三個是標識從第幾個字元開始Regex匹配。(預設為1)
第四個是標識第幾個匹配組。(預設為1)
第五個是指定傳回值的類型,如果該參數為0,則傳回值為匹配位置的第一個字元,如果該值為非0則返回匹配值的最後一個位置。
第六個是是取值範圍:
i:大小寫不敏感;
c:大小寫敏感;
n:點號 . 不匹配分行符號號;
m:多行模式;
x:擴充模式,忽略Regex中的空白字元。
全部測試資料
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
Oracle Regex函數-REGEXP_INSTR 使用例子