1. 程式人生 > >第27章 正則表達式

第27章 正則表達式

.com 開頭 height 大小寫 替換 strong 區分大小寫 bubuko rep

第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章 正則表達式