- 1
- 0
- 约5.18千字
- 约 5页
- 2019-07-03 发布于广东
- 举报
oracle的正则表达式
oracle的正则表达式(regular expression)简单介绍
目前,正则表达式已经在很多软件中得到广泛的应用,包括(Linux, Unix等),HP 等操作系统,PHP, C#, Java等开发环境。
Oracle 10g正则表达式提高了 SQL灵活性。有效的解决了数据有效性,重S词的辨认,无 关的空白检测,或者分解多个正则组成 的字符串等问题。
Oracle 10g支持正则表达式的四个新函数分别是:REGEXP_LIKE、REGEXP_INSTR、
REGEXP SUBSTR、和 REGEXP REPLACE。
它们使用POSIX正则表达式代替了老的百分号(%)和通配符(_)字符。
特殊字符:
匹配输入字符串的开始位置,在方拈号表达式中使用,此时它表示不接受该字符集合。 匹配输入字符串的结尾位置。如果设置了 RegExp对象的Multiline属性,则$也匹
配’ \n’ 或’ \r’。
匹配除换行符\n之外的任何单字符。
匹配前面的子表达式零次或一次。
匹配前面的子表达式零次或多次。
select regexp replace C dsfsdfsf’,’ a*’,’ A’)from dual AdAsAfAsAdAfAsAfA
因为其可以匹配a没有出现的地方,所以在每个字符前面和后面都会插A,相当于将两个字 符中间的空位也当做一次匹配
select regexp replace(’ adsfsdfsf’,’ a*’,’ A’)from dual AAdAsAfAsAdAfAsAfA
冈为其可以匹配a没有fli现的地方,所以在每个字符前而和后而都会插A,相当?丁将两个字 符中间的空位也当做一次匹配,对于有a出现的地方再换成A
正则表达式是最大限度匹配,会匹配所有能够匹配的字符串中长度最长的串
Select REGEXP_REPLACECaa bb cd) FROM dual;
把*后面的空格去掉显示结果为什么是两个A不是一个A
因为其首先将匹配没有任何字符的情况加一个A,再对能匹配的最大字符串即aa bb cc换成 A
Select REGEXP_REPLACE(aa bb cc.;.* *,W) FROM dual;
结果为Acc,注意表达式在.*后面有个空格
’+’匹配前面的子表达式一次或多次。
’()’标记一个子表达式的开始和结束位置。
正则表达式屮括号的三种功能:
限定多选结构的范网;如:ab(c|d|e)fgh,注意上述写法与去掉括号时abc|d|efgh的区别
标注虽词作用的元索;如:ab(cde)+fgh,注意上述写法与去掉括号时abcde+fhg的区别
为引用捕获文本;作为这个用法加括号是为了返回或引用匹配结果
’ □’标记一个中括号表达式。
可以用來指定可以取的字符范围,如[a-z],或者排除掉D中的内容
’ {m,n}’ 一个精确地出现次数范围,m=〈出现次数〈=n, ’{…’表示出现⑴次,’ {m,}’表示至 少出现m次。
’I’指明两项之间的一个选择。例子’7[a-z] + |[0-9]+)$’表示所有小写字母或数字组合成 的字符串。
\nurn匹配num,其屮mim是一个正整数。对所获収的匹配的引用。
正则表达式的一个很有用的特点是可以保存子表达式以后使用,被称为Backreferoncing. 允许复杂的替换能力
如凋整一个模式到新的位賈或者指示被代替的字符或者甲.词的位賈.被匹配的子表达式存 储在临时缓冲区屮,
缓冲区从左到右编号,通过\数字符号访问。下面的例子列出了把名字aa bb ex变成 cc, bb, aa.
Select REGEXI)_REPLACE(’aa bb cc’,’(.*) (. *) (.*)’,’ \3, \2,\f) FROM dual; REGEXP REPLACE(’ ELLENHILDISMIT cc, bb, aa
’\’转义符。
字符簇:
[[:alpha:]]任何字母。任何字符?
[[:digit:]]任何数字。
[[:alnum:]]任何字母和数字。任何字母?
[[:space:]]任何空白字符。
[[:upper:]]任何大写字母。
[[:lower:]]任何小写字母。
[[:punct:]]任何标点符号。
[[:xdigit:]]任何16进制的数字,相当于[0-9a-fA-F]。
各种操作符的运算优先级
\转义符
(),(?,(?=),[]圆括号和方括号
*,+,?, {n}, {n,}, {n, m}限定符 ,$,\anymetacharacter 位置和顺序 I “或”操作
-测试数据
create table test(me varchar2 (60));
insert into test values(’
您可能关注的文档
最近下载
- 【考研数学】2024 武忠祥 严选题做题本 数学二 (竖版A4).doc VIP
- (LR3.5)地测空间管理信息系统使用手册(1).pdf VIP
- 【做题本】平板版25考研数学周洋鑫考点全刷基础篇·线代.doc VIP
- 考研数学2025年线代基础测试.docx VIP
- 2025年考研数学《线性代数》专项训练试卷.docx VIP
- 2025年考研数学线代真题模拟冲刺试卷(含答案).docx VIP
- 【做题本】A4版25考研数学周考点全刷.doc VIP
- 青海民间小调.pdf
- 成人2型糖尿病口服降糖药联合治疗专家共识(2025版)解读PPT课件.pptx VIP
- 2026马年春节小学生主题班会课件(共21张PPT).pptx VIP
原创力文档

文档评论(0)