oracle中匹配函数怎么用,ORACLE 使用正则表达式的函数
7) ?'{m,n}' 單字符匹配,一個(gè)精確地出現(xiàn)次數(shù)范圍,m=
8) ?'\' 轉(zhuǎn)義符。說明要匹配的字符是一個(gè)特殊字符;
9) ?'|'多字符匹配,相當(dāng)于‘或’,兩項(xiàng)之間的任意選擇。例如a|b即是可以為a也可以為b,g(e|o)t就是匹配get和got;
10) '[]'多字符匹配,相當(dāng)于集合,對(duì)[]中的字符進(jìn)行任意匹配。例如y[iao]ng就是匹配ying/yang/yong;
最后說明比較特殊的是[::],它指定一個(gè)字符類,可以匹配該類中的任意字符。這里的字符類包括:
[:alphanum:] 可以匹配字符0-9、A-Z、a-z;
[:alpha:]可以匹配字符A-Z、a-z;
[:blank:]可以匹配空格或者tab鍵;
[:digit:]可以匹配數(shù)字 0-9;
[:upper:]可以匹配字符A-Z;
[:lower:]可以匹配字符a-z;
一)REGEXP_LIKE(x,pattern[,match_option]):用于在x中查找正則表達(dá)式pattern。match_option的取值如下:
'c' ? 說明在進(jìn)行匹配時(shí)區(qū)分大小寫(缺省值);
'i' ? 說明在進(jìn)行匹配時(shí)不區(qū)分大小寫;
例如:
SELECT * FROM a_user WHERE regexp_like(CODE,'[^[:digit:]]');
SELECT * FROM a_user WHERE regexp_like(CODE,'^[[:lower:]]|[[:digit:]]');
SELECT * FROM emp WHERE REGEXP_LIKE(TO_CHAR(birthdate,'YYYY'),'^198[0-9]$') AND REGEXP_LIKE(ename,'^F');
二)REGEXP_INSTR(x,pattern[,start[,occurrence[,return_option[, match_option]]]]):
用于在x中嘗試匹配pattern,并返回匹配的位置。
'start' ? 開始查找的位置;
'occurrence' ? 說明應(yīng)該返回第幾次出現(xiàn)pattern的位置;
'return_option' ? 說明應(yīng)該返回什么整數(shù)。若該參數(shù)為0,則說明要返回的整數(shù)是x中的一個(gè)字符的位置;若該參數(shù)為非0的整數(shù),則說明要返回的整數(shù)為x中出現(xiàn)在pattern之后的字符的位置;
以上這三項(xiàng)皆為可選項(xiàng)。
例如:
SELECT CODE,regexp_instr(CODE,'[[:digit:]]+$') FROM a_user WHERE regexp_like(CODE,'[[:digit:]]$');
三)REGEXP_REPLACE(x,pattern,replace_string[,start[,occurrence[, match_option]]]):
用于在x中查找pattern,并將其替換為replae_string。
start,occurrence,match_option皆為可選項(xiàng)。
例如:
select regexp_replace(’I love you my sweet’,'s[[:alpha:]]{4}’,'honey’) from dual
四)REGEXP_SUBSTR(x,pattern[,start[,occurrence[, match_option]]]):
用于在x中查找pattern并返回給定模式匹配的字符串。
參數(shù)同REGEXP_INSTR函數(shù)。
例如
SELECT CODE,regexp_instr(CODE,'[[:digit:]]+') FROM a_user WHERE regexp_like(CODE,'[[:digit:]]$');
select regexp_substr('I hate people ! My patience has ended ! Where shall my blood be spilled!', '[a-z]{5,}',1,2) ?from dual;
總結(jié)
以上是生活随笔為你收集整理的oracle中匹配函数怎么用,ORACLE 使用正则表达式的函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos7 安装mysql php,
- 下一篇: php修改网页打印纸张 份数,打印机上复