oracle正则表达式regexp_like很好的例子

    今天在itpub论坛遇到使用正则表达式regexp_like解决问题一例:

链接见:http://www.itpub.net/thread-1637870-1-1.html

问题描述如下:

table: test
-------------------------------------------------
              content
-------------------------------------------------
Level:2000-3000:0.02,3000-4000:0.03,4000-50|test:1,2
Level:2000-3000:0.02,3000-4000:0.03,4000-50|test:11,13,22,24
Level:2000-3000:0.02,3000-4000:0.03,4000-50|test:10,9,27,34,

如果查给出的参数是:2
只有第一条是满足条件的
如果是:22
只有第二条是满足条件的。

 

解决方法如下:


with t as

(select 'Level:2000-3000:0.02,3000-4000:0.03,4000-50|test:1,2' a from dual union all

select 'Level:2000-3000:0.02,3000-4000:0.03,4000-50|test:11,13,22,24' a from dual union all

select 'Level:2000-3000:0.02,3000-4000:0.03,4000-50|test:10,9,27,34,' a from dual)

select        a

from        t

where        regexp_like(regexp_substr(a, 'test.*' ), '(:|,)&input(,|$)');


 

如何使用regexp_like:

 

http://docs.oracle.com/cd/B14117_01/server.101/b10759/conditions018.htm  REGEXP_LIKE

http://kanglecjr.iteye.com/blog/394434/   使用正则表达式 匹配 字符串的一部分(REGEXP_LIKE)

http://blog.csdn.net/hzfu007/article/details/4032272  oracle中正则表达式相关函数regexp_like简介

http://hi.baidu.com/lordx/item/d4cbcd82f55611ebe596e01d  oracle 10g正则表达式 REGEXP_LIKE 用法

 

 

如何使用正则表达式:

http://vbird.dic.ksu.edu.tw/linux_basic/0330regularex_2.php  第十二章、正规表示法与文件格式化处理


 

 

请使用浏览器的分享功能分享到微信等