第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,0) name from emp;
select ename,1) name from emp;
从第一个字符开始查找,查找第一次出现的A,然后后面跟0表示这个A的位置,非0则表示找到的字符A的下一个字符的位置
select ename,regexp_substr(ename,‘A‘1,2) from emp;
select ename,substr(ename,regexp_count(ename,‘A‘) name from emp;
统计A出现的次数,该功能是在11g开始有的新功能
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。