网站大量收购独家精品文档,联系QQ:2885784924

oracle的正则表达式.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle的正则表达式

oracle的正则表达式(regular expression)简单介绍 目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境。 Oracle 10g正则表达式提高了SQL灵活性。有效的解决了数据有效性,重复词的辨认, 无关的空白检测,或者分解多个正则组成的字符串等问题。 Oracle 10g支持正则表达式的四个新函数分别是:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR、和REGEXP_REPLACE。 它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。 特殊字符: ^ 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。 $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 \n 或\r。 . 匹配除换行符 \n之外的任何单字符。 ? 匹配前面的子表达式零次或一次。 * 匹配前面的子表达式零次或多次。 + 匹配前面的子表达式一次或多次。 ( ) 标记一个子表达式的开始和结束位置。 [] 标记一个中括号表达式。 {m,n} 一个精确地出现次数范围,m=出现次数=n,{m}表示出现m次,{m,}表示至少出现m次。 | 指明两项之间的一个选择。例子^([a-z]+|[0-9]+)$表示所有小写字母或数字组合成的字符串。 \num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。 正则表达式的一个很有用的特点是可以保存子表达式以后使用,被称为Backreferencing. 允许复杂的替换能力 如调整一个模式到新的位置或者指示被代替的字符或者单词的位置. 被匹配的子表达式存储在临时缓冲区中,缓冲区从左到右编号, 通过\数字符号访问。 下面的例子列出了把名字 aa bb cc 变成cc, bb, aa. Select REGEXP_REPLACE(aa bb cc,(.*) (.*) (.*), \3, \2, \1) FROM dual; REGEXP_REPLACE(ELLENHILDISMIT cc, bb, aa \ 转义符。 字符簇: [[:alpha:]] 任何字母。 [[:digit:]] 任何数字。 [[:alnum:]] 任何字母和数字。 [[:space:]] 任何白字符。 [[:upper:]] 任何大写字母。 [[:lower:]] 任何小写字母。 [[unct:]] 任何标点符号。 [[:xdigit:]] 任何16进制的数字,相当于[0-9a-fA-F]。 各种操作符的运算优先级 \ 转义符 (), (?, (?=), [] 圆括号和方括号 *, +, ?, {n}, {n,}, {n,m} 限定符 ^, $, \anymetacharacter 位置和顺序 | “或”操作 --测试数据 create table test(mc varchar2(60)); insert into test values(112233445566778899); insert into test values5566778899); insert into test values5566778899); insert into test values5566 778899); insert into test values(5511 2233 4466778899); insert into test values(661122334455778899); insert into test values(771122334455668899); insert into test values(881122334455667799); insert into test values(991122334455667788); insert into test values(aabbccddee); insert into test values(bbaaaccddee); insert into test values(ccabbddee); insert into test values(ddaabbccee); insert into test values(eeaabbccdd); insert into test values(ab123); insert into test values(123xy); insert into test values(007ab); insert into test values(abcxy);

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档