第27章 正則表達式
第26章正則表達式
從10g開始有的新功能
| ^ $ \ \n \d [:class:] . ? *
c 區分大小寫
i 不分大小寫
instr replace like
.表示至少一個字符,一個字符以後的也算
select ename from emp where regexp_like(ename,‘^A‘);
表示以A開頭的ename
select ename from emp where regexp_like(ename,‘.A‘);
這個表示的是從第二個字符開始,包括第二個字符後面的含有A的員工姓名
select ename from emp where regexp_like(ename,‘^(A|S)‘);查找以A或者S開頭的員工姓名
select ename from emp where regexp_like(ename,‘^(a|S)‘,‘c‘);
加一個小c表示區分大小寫
select ename from emp where regexp_like(ename,‘^(a|S)‘,‘i‘);
這個表示區分大小寫
select ename from emp where regexp_like(ename,‘L(2)‘);
查找名字中含有兩個L的員工姓名
select ename,regexp_replace(ename,‘A‘,‘a‘,1,2) name from emp;
從第一個字符開始查找將第二次出現的A替換成a
select id,regexp_replace(tel,‘-|\[|\]| ‘,‘‘) tel from t;
regexp_instr
select ename,regexp_instr(ename,‘A‘,1,1,0) name from emp;
select ename,regexp_instr(ename,‘A‘,1,1,1) name from emp;
從第一個字符開始查找,查找第一次出現的A,然後後面跟0表示這個A的位置,非0則表示找到的字符A的下一個字符的位置
select ename,regexp_substr(ename,‘A‘1,2) from emp;
select ename,substr(ename,1,2) from emp;
select ename,regexp_count(ename,‘A‘) name from emp;
統計A出現的次數,該功能是在11g開始有的新功能
第27章 正則表達式