【正則】oracle正規表示式函式之REGEXP_REPLACE和REGEXP_SUBSTR

散葉涔發表於2012-04-22

前面我們介紹了和常用的兩個函式和 。這裡我們再繼續介紹剩下的兩個函式regexp_replace和regexp_substr。

regexp_replace函式和regexp_substr函式的功能類似與,只是這裡的應用更加靈活,可以一下子匹配一系列的結果,而原來的函式只能一下子匹配一個固定的字元換。

具體來講:
regexp_replace的意義是找到於給定模式匹配的字串並用其他的字串來替代。
其原型是:regexp_replace(x,pattern[,replace_string[,start[,occurence[match_option]]]])
每個引數的意思分別是:
x 待匹配的函式
pattern 正規表示式元字元構成的匹配模式
replace_string 替換字串
start 開始位置
occurence 匹配次數
match_option 匹配引數,這裡的匹配引數和是完全一樣的,可參考前面的一篇文章。

舉例來講:
select regexp_replace(’hello everybody,may I have your attention please?’,'b[[:alpha:]]{3}’,'one’) from dual將會返回結果:
hello everyone,may I have your attention please?

而regexp_substr函式的意義找出與給定模式匹配的字串並返回,
其原型是:regexp_substr(x,pattern[,start[,occurence[match_option]]])
這裡各引數的意義與前面的函式regexp_replace的含義是一樣做的。
regexp_substr的例子如下:
select regexp_substr(’I love oracle very much’,'o[[:alpha:]]{5}’) from dual;
這裡將會匹配出結果:
oracle來。這也是這個函式的返回結果。

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

相關文章