oracle的REGEXP SUBSTR的用法

2022-09-17 15:42:19 字數 1296 閱讀 1219

function regexp_substr(string, pattern, position, occurrence, modifier)

string     :需要進行正則處理的字串

pattern   :進行匹配的正規表示式

position   :起始位置,從第幾個字元開始正規表示式匹配(預設為1)

occurrence:標識第幾個匹配組,預設為1

occurrence :模式('i'不區分大小寫進行檢索;'c'區分大小寫進行檢索。預設為'c'。)

----

2.量詞:?用來匹配0和1個字元

*用來匹配0和多個字元

+用來匹配1和多個字元

a 表示匹配3個字元a,

a 三個或者多個字元a

a用來匹配3到5個字元a

量詞匹配遵循貪婪原則,量詞?可取消貪婪原則

3.字元轉義和字元類

\和其他字元進行組合(包含元字元)

單字元匹配;\n 換行 \r 回車 \t製表符

多字元匹配;\s匹配空白符(空格、製表、回車、換行)

\d匹配數字

\w匹配可組成的單詞

【】用來定義字元的範圍 【1,2】【0-9】【a-z】

^用來表示範圍之外的字元【^a】

4.字元組

模式中的某些部分還可成為乙個整體,用量詞修飾

(123as)+ 用來匹配123as123as

程式語言中可用$1 $2用來獲取第乙個 第二個字元租

5.正規表示式分支 | \d|\w 類似於邏輯關係or

6.oracle 中應用

regexp_like(列或者表示式中獲取的string,匹配的string)返回布林值

regexp_instr(列或者表示式中得到的string,匹配表示式,匹配開始位置,匹配的第幾次作為結果) 返回值為number

結果返回html 列中符合http[a-za-z0-9\.:/]中的字元創

regexp_replace ()

select regexp_replace('09/07/2001' ,'^([0-9])/([0-9])/([0-9]) $),'\3-\2\1') replace from dual;

([0-9])/([0-9])/([0-9])匹配09/07/2001

\3-\2\1 重新排序輸出快取中的三個分組 並替換 09/07/2001

oracle學習總結 oracle的介紹

1 資料庫的三層結構 client 專用於訪問資料庫 dbms database management system db例項 多個 db例項有很多資料物件 例 表,包,檢視,序列,函式,觸發器,索引 2 在專案中如何選擇資料庫 1 標的 2 功能 3 併發性問題 4 安全 穩定 5 作業系統 un...

oracle 2 oracle的使用者

1 dbca oracle的dbca主要用來管理資料庫,包括建立資料庫 刪除資料庫等。注意 建立資料庫的時候,密碼不能全是數字,也不能以數字開頭 2 ofa oracle flexible architecture oracle優化靈活結構 作用 多oracle版本的管理 ora90 資料庫管理工具...

oracle部分 oracle的分頁查詢

oracle的分頁查詢 問題 當乙個表中的資料量特別大的時候,如果一次性全部顯示給使用者,則造成頁面過於龐大,體驗極差。解決 使用分頁查詢 使用 rownum關鍵字 oracle對外提供的自動給查詢結果編號的關鍵字,與每行的資料沒有關係。注意 rownum關鍵字只能做 的判斷,不能進行 的判斷 se...