oracle 正规表达式,oracle10g正规表达式

-------------------------------------------正规表达式:-----------------------------------------------

正规表达式是符号和元素的集合,这些集合可以使用户匹配特定的文本模式。正规表达式采用元符号的组合来定义各种匹配和搜索标准。在正规表达式中,匹配是大小写敏感的。

元符号描述示例

*匹配0个或多个任意的字符bd*匹配bdq,bdabc

?匹配一个任意的字符B?d匹配BDd,Bld

^表示字符串的开始^abc与abced,abcfr可acdv

$表示字符串的末尾bas$以bas为结尾的所有字符串

x|y匹配x或ywindo|door表示windo或者dr

[]匹配[]中的任意一个字符ba[a-b]匹配baa或bab

{m}可以匹配m次m[0-9]{3}匹配m7,m12,m123

{m,n}至少m次最多n次

\n表示前一个表达式可以重复N次[aeiou]\2匹配aatldf但abldf

[::]指定一个字符类,匹配该类中的任意一个字符

使用正规表达式:

函数描述

Regexp_like()类似于like运算符,可以使用正规表达式执行模式匹配操作

Regexp_instr()instr运算的扩张,可以用来搜索匹配正规表达式模式的输入字符串

Regexp_replace()replace的扩展,用户搜索符合正规表达式模式的输入字符串,并用指定的字符代替这些字符串

Regexp_substr()substr函数的扩展,用户搜索符合正规表达式模式的输入字符串,输出是这些搜索到的字符串

说明:

一:Regexp_like(search_string,pattern [,match_option]);

(1):search_string是搜索值

(2):parrern是使用得正规表达式且其长度限制在512字节内

(3)match_option:是一个文本串,可以使用户设置该函数的匹配行为

Match_option参数表:

值描述

C匹配时,大小写敏感,是默认设置

I匹配时,大小写不敏感

N允许使用圆点(。)匹配任何新增的字符

M

Eg:

Select author_id,last_name from author where regexp_liek(last_name,’e$’);--搜索以e结尾的作者姓名

二:regexp_instr(search_string,pattern,[,position [,occurrence [,return_option [,match_option ]]]]);

(1) :search_string是搜索值

(2):parrern是使用得正规表达式且其长度限制在512字节内

(3)position是一个表示搜索开始位置的正整数,默认为一。

(4)occurrence定义了搜索模式的发生次数,默认为一,

(5)return_optionshi是一个数字,表示该函数应该返回的值。该数字可以是0(表示开始匹配的位置)也可以是非0(表示匹配的结束位置)

(6)match_option是设置该函数匹配行为的参数

Eg:

Select regexp_instr(‘orcale database 10g’,’a’,1,2) from dual;

三:

regexp_replace((search_string,pattern,[,position[,occurrence[,return_option [,match_option ]]]]);

(1) :search_string是搜索值

(2):parrern是使用得正规表达式且其长度限制在512字节内

(3)position是一个表示搜索开始位置的正整数,默认为一。

(4)occurrence定义了搜索模式的发生次数,默认为一,

(5)return_optionshi是一个数字,表示该函数应该返回的值。该数字可以是0(表示开始匹配的位置)也可以是非0(表示匹配的结束位置)

(6)match_option是设置该函数匹配行为的参数

)

Select last_name,regexp_replace(last_name,’e’,’E’) from duthors where author_id<3

四:

Regexp_substr(seach_string,pattern [,position ,[,occurrence [,match_option]]])

(1) :search_string是搜索值

(2):parrern是使用得正规表达式且其长度限制在512字节内

(3)position是一个表示搜索开始位置的正整数,默认为一。

(4)occurrence定义了搜索模式的发生次数,默认为一,

(5)match_option是设置该函数匹配行为的参数

Eg:

Select last_name,regexp_substr(last_name,’[rst][a-z]{4}’) from authors where length(regexp_sustr(last_name,[rst][a_z]{4}));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值