oracle 正则表达式

oracle 10g中引入了正则表达式这一新特性。
下面首先了解一下正则表达式元字符的含义。
*          匹配零个或多个匹配项 
|           用于指定选择性匹配项的选择性运算符 
^/$       匹配行的开头/结尾 
[]          用于匹配列表(匹配该列表中的任何表达式)的方括号表达式 
[^exp]  如果脱字符位于方括号内部,则对表达式取非。 
{m}      精确匹配 m 次 
{m,n}   至少匹配 m 次,但不超过 n 次 
[: :]       指定一个字符类并匹配该类中的任何字符
            [:alphanum:]可以匹配字符0-9、A-Z、a-z
            [:alpha:]可以匹配字符A-Z、a-z
            [:blank:]可以匹配空格或tab键
            [:digit:]可以匹配数字0-9
            [:graph:]可以匹配非空字符
            [:lower:]可以匹配小写字母a-z
            [:print:]与[:graph:]类似,不同之处在于[:print:]包括空格字符
            [:punct:]可以匹配标点符号.,""等等
            [:space:]可以匹配所有的空字符
            [:upper:]可以匹配大写字母A-Z
            [:xdigit:]可以匹配十六进制数字0-9、A-F、a-f
\           可以有四种不同的含义:(1) 表示其自身;(2) 引用下一个字符;
                                                        (3) 引入一个运算符;(4) 不执行任何操作 
+          匹配一个或多个匹配项 
?          匹配零个或一个匹配项 
.           匹配所支持字符集中的任何字符(NULL 除外) 
()          对表达式进行分组(视作一个子表达式) 
\n         向后引用表达式 
[==]      指定等价类 
[..]        指定一个对照元素(如多字符元素) 
oracle提供了以下正则表达式函数:
1、REGEXP_LIKE:
类似于 LIKE 运算符,但执行正则表达式匹配而不是简单的模式匹配,语法如下:
REGEXP_LIKE(srcstr, pattern [,match_option])
其中
srcstr:搜索值
pattern:正则表达式
match_option:用于更改默认匹配的选项,取值如下:
'c'说明在进行匹配时区分大小写(缺省值);
'i'说明在进行匹配时不区分大小写;
'n'允许使用可以匹配任意字符的操作符;
'm'将x作为一个包含多行的字符串
2、REGEXP_INSTR:在给定字符串中搜索某个正则表达式模式,并返回匹配项的位置,语法如下:
REGEXP_INSTR(srcstr, pattern [, position [, occurrence [, return_option [, match_option]]]])
其中
srcstr:搜索值
pattern:正则表达式
position:搜索起始位置
occurrence:要搜索的匹配项
return_option:指示匹配项的开头或结尾位置
match_option:用于更改默认匹配的选项
3、REGEXP_REPLACE:搜索某个正则表达式模式并使用替换字符串替换它,语法如下:
REGEXP_REPLACE(srcstr, pattern [,replacestr [, position [, occurrence [, match_option]]]])
其中
srcstr:搜索值
pattern:正则表达式
replacestr:替换模式的字符串
position:搜索起始位置
occurrence:要搜索的匹配项
match_option:用于更改默认匹配的选项
4、REGEXP_SUBSTR:在给定字符串中搜索某个正则表达式模式并返回匹配的子字符串,语法如下:
REGEXP_SUBSTR(srcstr, pattern [, position [, occurrence [, match_option]]])
其中
srcstr:搜索值
pattern:正则表达式
position:搜索起始位置
occurrence:要搜索的匹配项
match_option:用于更改默认匹配的选项

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8367589/viewspace-433128/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8367589/viewspace-433128/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值