zoukankan      html  css  js  c++  java
  • oracle中的正则表达式函数regexp_instr

    前面我们介绍了oracle中的正则表达式组常用的一个函数regexp_like,这里我们在介绍一个函数regexp_instr。这个正则表达式函数用的不如前一个多,但也会偶尔会用到。这个函数其实与我们前面曾介绍的instr函数其实相似。

    regexp_instr的原型如下:
    regexp_instr(x,pattern[,start[,occurrence[,return_option[,match_option]]]])
    这里每个参数分别含义如下:

    1. x  待匹配的字符串
    2. pattern 待匹配的模式
    3. start   开始匹配的位置,如果不指定默认为1
    4. occurrence  匹配的次数,如果不指定,默认为1
    5. return_option  指定返回值的类型,如果该参数为0,则返回值为匹配位置的第一个字符,如果该值为非0则返回匹配值的最后一个位置。
    6. match_option 可以用这个参数来修改一些默认的配置设置。这个值与前面所说的regexp_like函数中的match_option参数的意义是一样的。

    下面来举几个有关regexp_instr函数的例子:
    select (’i love www.52oracle.com’,'o[[:alpha:]]{4}e$’,1,1) as r from dual
    这个例子从’i love www.52oracle.com’这个字符串中匹配一个模式,这个模式是以o开头,以e结尾,在o和e之间有4个字符的字符串。这样自然而然就返回oracle的起始位置14

    另一个例子是:
    select (’i love www.52oracle.com’,'o[[:alpha:]]{2}’,1,2,1) as r from dual
    这个例子的含义是在’i love www.52oracle.com’这个字符串中匹配另一个模式,这个模式是以o开始,再包含两个字符的一个模式,因此这个模式可以是ove,也可是ora但是我们要求它匹配两次,因此这个SQL语句的结果是ora所在的位置,所在的什么位置呢?因为我们的return_option参数的值是1,即大于0,所以这的结果是16,也就单词oracle中a所在的位置。

  • 相关阅读:
    操作系统的内存对齐机制学习笔记
    函数库调用和系统调用的区别
    操作系统与c语言
    技术开发人员适应其他部门提需求的一个经验
    受益技术类书籍
    软件项目发展历史<人月神话>这本书好
    好的代码风格积累
    演示内存碎片原理的好图
    不要的代码删除掉,而不是放到系统中干扰
    编译安装php-amq扩展
  • 原文地址:https://www.cnblogs.com/lzhdim/p/1361387.html
Copyright © 2011-2022 走看看