第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开始有的新功能

 

posted @ 2018-08-04 09:36  喝咖啡的土豆  阅读(64)  评论(0编辑  收藏  举报