oracle的REGEXP_SUBSTR的用法


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} 表示匹配3個字符A,
A{3,} 三個或者多個字符A
A{3,5}用來匹配3到5個字符A
量詞匹配遵循貪婪原則,量詞?可取消貪婪原則
3.字符轉義和字符類
\和其他字符進行組合(包含元字符)
單字符匹配;\n 換行 \r 回車 \t制表符
多字符匹配;\s匹配空白符(空格、制表、回車、換行)
\d匹配數字
\w匹配可組成的單詞
【】用來定義字符的范圍 【1,2】【0-9】【a-z】
^用來表示范圍之外的字符【^a】
4.字符組
模式中的某些部分還可成為一個整體,用量詞修飾
(123as)+ 用來匹配123as123as
編程語言中可用$1 $2用來獲取第一個 第二個字符租
5.正則表達式分支 | \d{4}|\w{4} 類似於邏輯關系or
6.oracle 中應用
regexp_like(列或者表達式中獲取的string,匹配的string)返回布爾值
regexp_instr(列或者表達式中得到的string,匹配表達式,匹配開始位置,匹配的第幾次作為結果) 返回值為number
regexp_substr()
select id,regexp_substr(html,'http[a-zA-Z0-9\.:/]*') url from html;
結果返回html 列中符合http[a-zA-Z0-9\.:/]中的字符創
regexp_replace ()
select regexp_replace('09/07/2001' ,'^([0-9]{2})/([0-9]{2})/([0-9]{4}) $),'\3-\2\1') replace from dual;
([0-9]{2})/([0-9]{2})/([0-9]{4})匹配09/07/2001
\3-\2\1 重新排序輸出緩存中的三個分組 並替換 09/07/2001

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM