ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE中正则表达式用法

ORACLE中正则表达式用法

原创 Linux操作系统 作者:iscogeek 时间:2012-09-12 23:46:11 0 删除 编辑

    今天在ITPUB上看帖子,看到别人贴上用正则表达式来解决.然后就决定写篇日志来记录一下学习的历程.

之前看过一些文章,ORACLE 从10G开始支持正则表达式.其中有四个函数:

1,REGEXP_LIKE :与LIKE的功能相似

2,REGEXP_INSTR :与INSTR的功能相似

3,REGEXP_SUBSTR :与SUBSTR的功能相似

4,REGEXP_REPLACE :与REPLACE的功能相似

正则表达式中常用到的元数据(metacharacter)如下:

  1. ^  匹配字符串的开头位置。
  2. $  匹配支付传的结尾位置。
  3. *  匹配该字符前面的一个字符0次,1次或者多次出现。例如52*oracle 可以匹配 5oracle,52oracle,522oracle,5222oracle等等。
  4. + 匹配该字符前面的一个字符1次或者多次出现。例如52+oracle 可以匹配 52oracle,522oracle,5222oracle等等
  5. ?  匹配该字符前面的一个字符0次或1次或者多次出现。例如52?oracle 只能匹配5oracle,52oracle等等
  6. {n} 匹配一个字符串n次,n为正整数。例如:hel{2}o 所匹配的是hello
  7. {n,m} 匹配一个字符串至少n次,至多m次。其中n和m都是整数。
  8. .  匹配除了null之外的任何单个字符串
  9. (pattern) 这个是用来匹配指定模式的一个子表达式
  10. x|y  匹配x或者y,其中x和y是一个或者多个字符
  11. [abc] 匹配括号中的任意一个字符。例如:[ab]bc可以匹配abc和bbc
  12. [a-z] 匹配指定范围内的任意字符串。例如[A-G]hi可以匹配Ahi至Ghi
  13. [::]指定一个字符类,可以匹配该类中的任意字符 这里的字符类包括:
    • [:alphanum:] 可以匹配字符0-9、A-Z、a-z
    • [:alpha:]可以匹配字符A-Z、a-z
    • [:blank:]可以匹配空格或者tab键
    • [:digit:]可以匹配数字 0-9
    • [:gragh:]可以匹配非空字符
    • [:punct:]可以匹配. , ” ‘等标点符号。
    • [:upper:]可以匹配字符A-Z
    • [:lower:]可以匹配字符a-z

以下举些例子来简单的介绍一下几个函数的用法:(待续)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26700482/viewspace-743298/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2012-08-08

  • 博文量
    1
  • 访问量
    1208