oracle 正则表达式2

简介: SUBSTR的用法 SUBSTRB(STR,NUMBER,NUMBER) select t.str,substrb(t.str,2,1),substr(t.

SUBSTR的用法

SUBSTRB(STR,NUMBER,NUMBER)

select t.str,substrb(t.str,2,1),substr(t.str,-3,2) from T_TEST_REGEXP_150514 t where t.id='substr' 

REGEXP_SUBSTR的用法

REGEXP_SUBSTR(SOURCE_STRING,PATTERN[,POSITION[,OCCURRENCE[,MATCH_PARA_METER]]]

select T.ID,T.STR,

       REGEXP_SUBSTR(T.STR, '[^,]+'),

       REGEXP_SUBSTR(T.STR, '[^,]+', 1, 1),

       REGEXP_SUBSTR(T.STR, '[^,]+', 1, 2),

       REGEXP_SUBSTR(T.STR, '[^,]+', 2, 1),

       REGEXP_SUBSTR(T.STR, '[^,]+', 5, 1),  

       T.ROWID

  from T_TEST_REGEXP_150514 t

 where t.id = 'substr'

 

 

select T.ID,

       T.STR,

       REGEXP_SUBSTR(T.STR,'\d'), 

       REGEXP_SUBSTR(T.STR,'\d',1,1),  

       REGEXP_SUBSTR(T.STR,'\d',2,1),  

       REGEXP_SUBSTR(T.STR,'\d',2,2),

       T.ROWID

  from T_TEST_REGEXP_150514 t

 where t.id = 'substr'

 

 

 

 

INSTR用法

INSTR(STR,V_STR.NUMBER,NUMBER)

select instr(t.str,'1',2,1),t.str from t_test_regexp_150514 t where t.id='instr';

select instr(t.str,'1',-2,1),t.str from t_test_regexp_150514 t where t.id='instr';

REGEXP_INSTR用法

REGEXP_INSTR(SOURCE_CHAR,PATTERN[,POSITION[,OCCURRENCE[,RETURN_OPTION[,MATCH_PARAMETER]]]])

select t.str,

       regexp_instr(t.str, '\.'),

       regexp_instr(t.str, '\.', 1, 2),

       regexp_instr(t.str, '\.', 5, 2)

  from t_test_regexp_150514 t

 where t.id = 'instr';


 

 

REPLACE(STR,STR1,STR2)

REGEXP_REPLACE(SOURCE_CHAR,PATTERN[,REPLACE_STRING[,POSITON[,OCCURRENT[,MATCH_PARAMETER]]]])

 

select t.id,

       t.str,

       regexp_replace(t.str, '020', 'GZ'),

       regexp_replace(str, '(\d{3})(\d{3})', ''),

 

参考资料:
http://www.cnblogs.com/Azhu/archive/2012/04/03/2431127.html#undefined
目录
相关文章
|
6月前
|
数据采集 Oracle 关系型数据库
Oracle系列之十:Oracle正则表达式
Oracle系列之十:Oracle正则表达式
|
Oracle 关系型数据库 机器学习/深度学习
|
关系型数据库 Oracle
oracle 整理 正则表达式1
2015-05-15 先了解比较简单一点的 oracle正则表达式 ...
739 0
|
Oracle 关系型数据库 机器学习/深度学习
oracle正则表达式regexp_like用法
/*ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法相同,但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。
2347 0
|
Oracle 关系型数据库 SQL
oracle中的正则表达式(regular expression)
正则表达式是很多编程语言中都有的。可惜oracle8i、oracle9i中一直迟迟不肯加入,好在oracle10g中终于增加了期盼已久的正则表达式功能。你可以在oracle10g中使用正则表达式肆意地匹配你想匹配的任何字符串了。
1034 0
|
Oracle 关系型数据库
oracle中正则表达式相关函数regexp_like简介
前面介绍了oracle中正则表达式构成的元数据,但仅仅知道元数据是不够的,oracle中的正则表达式是结合其特定的4个函数使用的,其中用的最多的就是现在要介绍的的这个函数:regexp_like regexp_like函数的基本构成是: regexp_like(x,pattern[,match_option]) 其基本功能是在x中查找pattern,如果能找到返回true否则返回false,这里的可选参数match_option可以有如下几种形式: ‘c’ 表明进行匹配时区分大小写(这也是默认选项)。
1122 0
|
Oracle 关系型数据库 语音技术
oracle中的正则表达式函数regexp_instr
前面我们介绍了oracle中的正则表达式组常用的一个函数regexp_like,这里我们在介绍一个函数regexp_instr。这个正则表达式函数用的不如前一个多,但也会偶尔会用到。这个函数其实与我们前面曾介绍的instr函数其实相似。
1181 0
|
Oracle 关系型数据库
oracle正则表达式函数之REGEXP_REPLACE和REGEXP_SUBSTR
前面我们介绍了oracle中正则表达式的基本元字符和常用的两个函数regexp_like 和 regexp_instr。这里我们再继续介绍剩下的两个正则表达式函数regexp_replace和regexp_substr。
1422 0