oracle正则表达式函数之REGEXP_REPLACE和REGEXP_SUBSTR

前面我们介绍了oracle中正则表达式的基本元字符和常用的两个函数regexp_likeregexp_instr。这里我们再继续介绍剩下的两个正则表达式函数regexp_replace和regexp_substr。

regexp_replace函数和regexp_substr函数的功能类似与字符函数replace和substr,只是这里的应用更加灵活,可以一下子匹配一系列的结果,而原来的函数只能一下子匹配一个固定的字符换。

具体来讲:
regexp_replace的意义是找到于给定模式匹配的字符串并用其他的字符串来替代。
其原型是:regexp_replace(x,pattern[,replace_string[,start[,occurence[match_option]]]])
每个参数的意思分别是:
x 待匹配的函数
pattern 正则表达式元字符构成的匹配模式
replace_string 替换字符串
start 开始位置
occurence 匹配次数
match_option 匹配参数,这里的匹配参数和regexp_like是完全一样的,可参考前面的一篇文章。

举例来讲:
select regexp_replace(’hello everybody,may I have your attention please?’,'b[[:alpha:]]{3}’,'one’) from dual将会返回结果:
hello everyone,may I have your attention please?

而regexp_substr函数的意义找出与给定模式匹配的字符串并返回,
其原型是:regexp_substr(x,pattern[,start[,occurence[match_option]]])
这里各参数的意义与前面的函数regexp_replace的含义是一样做的。
regexp_substr的例子如下:
select regexp_substr(’I love oracle very much’,'o[[:alpha:]]{5}’) from dual;
这里将会匹配出结果:
oracle来。这也是这个函数的返回结果。

时间: 2024-10-26 07:00:46

oracle正则表达式函数之REGEXP_REPLACE和REGEXP_SUBSTR的相关文章

Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace

Oracle使用正则表达式离不开这4个函数:1.regexp_like2.regexp_substr3.regexp_instr4.regexp_replace 看函数名称大概就能猜到有什么用了.regexp_like 只能用于条件表达式,和 like 类似,但是使用的正则表达式进行匹配,语法很简单: regexp_substr 函数,和 substr 类似,用于拾取合符正则表达式描述的字符子串,语法如下: regexp_instr 函数,和 instr 类似,用于标定符合正则表达式的字符子串的

oracle正则表达式函数 匹配 手机

ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 1.正则表达式中的元字符 元字符 意思 例子 说明要匹配的字符是一个特殊字符.常量或者后者引用.(后引用重复上一次的匹配) n 匹配换行符 \ 匹配 ( 匹配 ( ) 匹配 ) ^ 匹配字符串的开头位置 如果A是字

oracle中的正则表达式函数regexp_instr

前面我们介绍了oracle中的正则表达式组常用的一个函数regexp_like,这里我们在介绍一个函数regexp_instr.这个正则表达式函数用的不如前一个多,但也会偶尔会用到.这个函数其实与我们前面曾介绍的instr函数其实相似. regexp_instr的原型如下: regexp_instr(x,pattern[,start[,occurrence[,return_option[,match_option]]]]) 这里每个参数分别含义如下: x  待匹配的字符串 pattern 待匹配

Oracle正则表达式使用介绍_正则表达式

下面通过一些例子来说明使用正则表达式来处理一些工作中常见的问题. 1. REGEXP_SUBSTR REGEXP_SUBSTR 函数使用正则表达式来指定返回串的起点和终点,返回与source_string 字符集中的VARCHAR2 或CLOB 数据相同的字符串. 语法: --1.REGEXP_SUBSTR与SUBSTR函数相同,返回截取的子字符串 REGEXP_SUBSTR(srcstr, pattern [, position [, occurrence [, match_option]]]

oracle正则表达式regexp_like的用法详解_oracle

/*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 正则表达式由标准的元字符(m

Oracle 正则表达式

Oracle 正则表达式 Oracle 正则表达式 就是由普通字符(例如字符a到z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 本文详细地列出了能在正则表达式中使用,以匹配文本的各种字符.当你需要解释一个现有的正则表达式时,可以作为一个快捷的参考.更多详细内容,请参考:Francois Liger,Craig McQueen,Pal Wilton[刘乐亭译] C#字符串和正则表达式

Oracle正则表达式使用介绍

下面通过一些例子来说明使用正则表达式来处理一些工作中常见的问题. 1. REGEXP_SUBSTR REGEXP_SUBSTR 函数使用正则表达式来指定返回串的起点和终点,返回与source_string 字符集中的VARCHAR2 或CLOB 数据相同的字符串. 语法: --1.REGEXP_SUBSTR与SUBSTR函数相同,返回截取的子字符串 REGEXP_SUBSTR(srcstr, pattern [, position [, occurrence [, match_option]]]

Oracle 正则表达式截取数值

问题描述 想从varch2字段类型的值中截取数值,regexp_substr不太会使,求会oracle 正则表达式的大神指教..比如有值如下:450T,650,LOW 850T(RHCM)...只想要其中的数值:450,650,850 ... 问题补充:好像可以这样:regexp_substr(t.machinetype, '[0-9]+') 解决方案 这样写regexp_substr(t.machinetype, '[0-9]+',1,1,'m')可以实现单个匹配.按照你的情况中间有多组数字符

Oracle字符串函数

Oracle字符串函数   平常我们用Oracle主要有两种字符串类型1.char始终为固定的长度,如果设置了长度小于char列的值,则Oracle会自动用空格填充的.当比较char时,Oracle用空格将其填充为等长,再进行比较.2.VarChar2数据类型为可变长度,虽然与VarChar数据类型是同义的,但在今后的Oracle版本中也许会有变化,所以应该避免使用VarChar,优先使用VarChar2.固定长度的字符串字段使用Char,而其他所有的字符串字段都应使用VarChar2. 下面列