日期:2014-05-16  浏览次数:20406 次

Oracle竟然也有正则表达式的函数
为了一个查询,写了一大堆的存储过程去实现,后来网上找一下,原来Oracle竟然也有正则表达式的函数。一个上午的工作,其实一个函数就完成了,只需1分钟。

记住了这次惨痛的教训,遇到不懂的问题时,第一时间问李彦宏。

ORACLE中的支持正则表达式的函数主要有下面四个:
1,REGEXP_LIKE :与LIKE的功能相似
2,REGEXP_INSTR :与INSTR的功能相似
3,REGEXP_SUBSTR :与SUBSTR的功能相似
4,REGEXP_REPLACE :与REPLACE的功能相似
它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法相同,
但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。
POSIX 正则表达式由标准的元字符(metacharacters)所构成:
'^' 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。
'$' 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹
配 '\n' 或 '\r'。
'.' 匹配除换行符之外的任何单字符。
'?' 匹配前面的子表达式零次或一次。
'+' 匹配前面的子表达式一次或多次。
'*' 匹配前面的子表达式零次或多次。
'|' 指明两项之间的一个选择。例子'^([a-z]+|[0-9]+)$'表示所有小写字母或数字组合成的
字符串。

。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。


【原文地址】
http://www.database8.com/thread-298135-1-1.html
1 楼 cectsky 2011-02-28  
哥也是第一次用到regexp