正则表达式五
来源:互联网 发布:网络爬虫工具 编辑:程序博客网 时间:2024/05/23 00:05
----===============Oracle正则表达式(regularexpression)=================
/*
在oracle里正则表达式有四个函数可用,分别是regexp_like、regexp_substr、regexp_instr 和regexp_replace。
这里在我们oracle 10g里灵活应用。
先来简单介绍一下正则表达式的内容,正则表达式是做为快速查询的文本内容的,在linux应用比较多,
首先,行的起始与结束 “^”这个字符是表示只查找行首的内容。“$”这个字符只查找行末的内容。
接下来是“^”还可以做为一个排除字符来使用。还是使用例子来做一个演示比较明了一下。
*/
最后一个函数regexp_replace
REGEXP_REPLACE 函数是用另外一个值来替代串中的某个值。例如,可以用一个匹配数字来替代字母的每一次出现。
REGEXP_REPLACE的格式如下所示
语法:
REGEXP_REPLACE与REPLACE函数相同,替换原字符串中的字符内容
REGEXP_REPLACE(srcstr, pattern [,replacestr [, position [, occurrence [,match_option]]]])
这个替换函数还是一个非常好用的。
如我们在有一个字符串adfadfa (main) next 现在我们要把()替换成<>,这里我们可能想用replace就可以搞定了,
但是我们现在做的是(之后必须有)这样的()我们才替换把<>.
select regexp_replace('adfadfa (main) next ','(\()([^\)]*)(\))','<\2>') from dual
output: adfadfa <main> next
这里还是一个\做为转义字符。
再来一个ip格式转换的例子吧,我们一般的IP的格式是12.19.168.27现在要不足3位的补足前面为0,结果是012.019.168.027
select regexp_replace(
regexp_replace('12.19.168.27','([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})',
'00\1.00\2.00\3.00\4') ,
'([0-9]*)([0-9]{3}\.)([0-9]*)([0-9]{3}\.)([0-9]*)([0-9]{3}\.)([0-9]*)([0-9]{3}$)','\2\4\6\8')
from dual
output: 012.019.168.027
这里我分成两步来操作,regexp_replace('12.19.168.27','([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})',
'00\1.00\2.00\3.00\4')我首先让每个小字符串做添加0,这样每个字符串都会大于3,再
'([0-9]*)([0-9]{3}\.)([0-9]*)([0-9]{3}\.)([0-9]*)([0-9]{3}\.)([0-9]*)([0-9]{3}$)','\2\4\6\8')
这整个字符串分成8段,这样我们只要2、4、6、8这四个段就可以了。
下面一个例子中,在每两个字符之间插入一个空格符
SELECT regexp_replace('YAHOO', '(.)', '\1 ') AS output FROM dual;
Output: Y A H O O
这个用一个循环的方式去操作,还蛮好的。
select regexp_replace(
regexp_replace('12.19.168.27','([^.]+)','00\1') ,'([^.]*)([^.]{3})','\2')
from dual
接着刚才那个,我们可以把replace循环替换的方式来操作。
- 正则表达式使用指南五
- 正则表达式五
- 知识点五:正则表达式
- Hive(五)--正则表达式
- 五、1、正则表达式
- Java--正则表达式(五)
- 备忘(五)正则表达式
- 正则表达式规则(五)
- Java正则表达式(五)
- javascript笔记(五)(正则表达式)
- 正则表达式总结(五)
- 微软的正则表达式教程(五)
- C#轻松入门(五)正则表达式
- 半小时学会正则表达式(五)
- python学习之(五)正则表达式
- 正则表达式学习指南(五)----Character Classes
- 每天一点正则表达式积累(五)
- 正则表达式(五)——javascript
- Android NDK使用Iconv进行编码转换
- Unity3D研究院之挥动武器产生的剑痕特效(四十七)
- ubuntu 安装Mysql
- android中圆角图片(ImageView)
- 回调函数例子
- 正则表达式五
- IndexWriter中的commit、rollback和close
- 热点分析—model builder 建模 流程
- 对象序列化(串行化)的作用、使用
- Mahout中mahout-examples-0.9-job.jar例子运行记录
- sqlserver 执行大数据脚本
- 2013级Java第1周(春)项目——一个简单的考勤签到程序
- PHP(2):安装Wordpress
- fukan之西柚2.0