<strong><span style="font-size:24px;">小结:</span></strong>
<span style="font-size:14px;">1、 REGEXP_LIKE (first_name, 'ss')相当于</span>
<span style="font-size:14px;">first_name like ‘%ss%’ </span>
<span style="font-size:14px;">而</span>
<span style="font-size:14px;">first_name like ‘ss’相当于</span>
<span style="font-size:14px;">first_name = ‘ss’</span>
2、
[:<class>:]表示一个字符类,并匹配该类中的任何字符,例如,[:alpha:]匹配任何字母字符。
若是在方括号表达式中使用^,即[^[:<class>:]],就是说使用 ^ 对该表达式取非,此时它表示不接受该字符集合,如[^[:digit:]],表示不是为数字的字符。
3、圆括号和方括号的区别
'( )' 标记一个子表达式的开始和结束位置。
'[]' 标记一个中括号表达式。
(voy),就表示voy字符串
而
[voy],表示v、o、y这三字符中的一个,即[voy]等价于[v|o|y]
像(v|oy),则表示v和oy。
注释:
'|' 指明两项之间的一个选择。例子'^([a-z]+|[0-9]+)$'表示所有小写字母或数字组合成的字符串。
4、
阅读一个Oracle 正则表达式 ,就要以(子)表达式为中心:
一个(子)表达式可以有多个返回值,例如,(v|oy),有两个返回值,分别为v和oy。
量词(或叫重复操作符)是来修饰(子)表达式,即以(子)表达式为中心量词如*,匹配 0 次或更多次;{m, n},至少匹配 m 次但不超过 n 次。
除了量词外的其他操作符也都是来修饰(子)表达式,即以(子)表达式为中心,如|、\。
5、 Oracle 正则表达式相关书籍
Alice Rischert (ar280@yahoo.com) 是哥伦比亚大学计算机技术与应用系的数据库应用程序开发和设计方向的主席。她编写了Oracle SQL交互手册第 2版(Prentice Hall,2002)和即将推出的Oracle SQL示例 (Prentice Hall,2003)。Rischert 拥有超过 15 年的经验在财富 100 强公司内担任数据库设计师、DBA 和项目主管,并且她自从 Oracle version 5 起就一直使用 Oracle 产品。
有关 Oracle 正则表达式中受 Perl 影响的扩展的更多信息,请参阅《Oracle 数据库应用程序开发人员指南 — 基础 10g第 2 版(10.2)》第 4 章“使用 Oracle 数据库中的正则表达式”。
更多详细内容,请参考:FrancoisLiger,Craig McQueen,Pal Wilton[刘乐亭译] C#字符串和正则表达式参考手册北京:清华大学出版社2003.2
</