Oracle正则表达式

获得积分
资料库会员登录
搜索: [高级搜索]
下载首页 | 资源分类 | 下载排行
您的位置: 首页 > 信息化技术 > oracle
 
分类导航
下载排行
最新资源
Oracle正则表达式
资源大小:201.82 KB 资源类型:文档
下载积分: 0
更多
-->
下载统计:总下载:0,本月下载:0,本周下载:0,今日下载:0
发表评论 错误报告 加入收藏夹
资源介绍
Oracle正则表达式
正则表达式具有强大、便捷、高效的文本处理功能。能够添加、删除、分析、叠加、插入和修整各种类型的文本和数据。Oracle从10g开始支持正则表达式。
下面通过一些例子来说明使用正则表达式来处理一些工作中常见的问题。
1.
REGEXP_SUBSTR
REGEXP_SUBSTR 函数使用正则表达式来指定返回串的起点和终点,返回与source_string 字符集中的VARCHAR2 或CLOB 数据相同的字符串。
语法:
--1.REGEXP_SUBSTR与SUBSTR函数相同,返回截取的子字符串
REGEXP_SUBSTR(srcstr, pattern [, position [, occurrence [, match_option]]])
注:
srcstr 源字符串
pattern 正则表达式样式
position 开始匹配字符位置
occurrence 匹配出现次数
match_option 匹配选项(区分大小写)
1.1
从字符串中截取子字符串
SELECT regexp_substr('1PSN/231_3253/ABc', '[[:alnum:]]+') FROM dual;
Output: 1PSN
[[:alnum:]]+ 表示匹配1个或者多个字母或数字字符。
SELECT regexp_substr('1PSN/231_3253/ABc', '[[:alnum:]]+', 1, 2) FROM dual;
Output: 231
与上面一个例子相比,多了两个参数
1 表示从源字符串的第一个字符开始查找匹配
2 表示第2次匹配到的字符串(默认值是“1”,如上例)
select regexp_substr('@@/231_3253/ABc','@*[[:alnum:]]+') from dual;
Output: 231
@* 表示匹配0个或者多个@
[[:alnum:]]+ 表示匹配1个或者多个字母或数字字符
注意:需要区别“+”和“*”的区别
select regexp_substr('1@/231_3253/ABc','@+[[:alnum:]]*') from dual;
Output: @
@+ 表示匹配1个或者多个@
[[:alnum:]]* 表示匹配0个或者多个字母或数字字符
select regexp_substr('1@/231_3253/ABc','@+[[:alnum:]]+') from dual;
Output: Null
@+ 表示匹配1个或者多个@
[[:alnum:]]+ 表示匹配1个或者多个字母或数字字符
select regexp_substr('@1PSN/231_3253/ABc125','[[:digit:]]+$') from dual;
Output: 125
[[:digit:]]+$ 表示匹配1个或者多个数字结尾的字符
select regexp_substr('@1PSN/231_3253/ABc','[^[:digit:]]+$') from
下载地址
 下载地址1
按字母检索

下载须知:
大部份资源无需注册即可下载
需要积分的资源要在会员中心注册会员并用 积分体系中提示的方法赚取积分才能下载。

免责声明:
所有资源只能用于参考学习,不能用于任何商业用途,否则后果自负!