什么是正则表达式?
正则表达式由一个或多个字符和/或者字符元, 最简单的形式由字符组成, 像正则表达
式 cat,被解释为字符 c 后面跟着 a 和 t, 这样的模式匹配字符串有 cat, location 和 catalog.
字符元为 Oracle 怎么处理正则表达式提供了运算规则。 如果, 你了解了各种字符元的意
思, 你就明白正则表达式在处理独立和代替文本字符方面是多么的强大.
数据有效性, 重复词的辨认, 无关的空白检测,或者分解多个正则组成的字符串, 可以
用来检查电话号码的有效性, 邮政编码,E-mail 地址, 社保号码,IP 地址, 文件名和路
径, 等等。甚至可以用来模式定位,如 HTML 的标签,数字, 日期,或者任何模式匹配的
字符或者代替他们的模式
在 Oracle 10g 中使用正则表达式
为了控制正则表达式可以使用 Oracle 中新的 REGEXP_LIKE, REGEXP_INSTR, 和
REG_EXP_REPLACE 函数, 你将会看到这些函数怎样增强了 LIKE, INSTR, SUBSTR 和
REPLACE 函数的功能. 实际上,和已经存在的函数呵操作相似
/*
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 属性,
则 $ 也匹配 '' 或 ''。
'.' 匹配除换行符之外的任何单字符。
'?' 匹配前面的子表达式零次或一次。
'+' 匹配前面的子表达式一次或多次。
'*' 匹配前面的子表达式零次或多次。
'|' 指明两项之间的一个选择。例子'^([a-z]+|[0-9]+)$'表示所有小写字母或数字
组合成的字符串。