zoukankan      html  css  js  c++  java
  • Oracle(00):正则表达式

    从10g开始,可以在查询中使用正则表达式:

    REGEXP_LIKE 匹配

    REGEXP_LIKE(source_string, pattern[, match_parameter])返回满足匹配模式的字符串

    相当于增强的like函数。Source_string指定源字符表达式;pattern指定规则表达式;match_parameter指定默认匹配操作的文本串。其中 match_parameter参数都是可选的。

    match_parameter的取值如下:

      'c'   说明在进行匹配时区分大小写(缺省值);

      'i'    说明在进行匹配时不区分大小写;

      'n'   允许使用可以匹配任意字符的操作符;

      'm'   将x作为一个包含多行的字符串。

      ‘x’  忽略空白字符。

    SELECT * FORM. tKHXX where REGEXP_LIKE(SJHM, '^[1]{1}[35]{1}[[:digit:]]{9}$'

    REGEXP_REPLACE 替换

    REGEXP_REPLACE(source_string,pattern,replace_string,position,occurtence,match_parameter)字符串替换函数
    相当于增强的replace函数。Source_string指定源字符表达式;pattern指定规则表达式;replace_string指定用于替换的字符串;position指定起始搜索位置;occurtence指定替换出现的第n个字符串;match_parameter指定默认匹配操作的文本串

    select length(regexp_replace('123-345-566', '[^-]', '')) from dual;

    REGEXP_INSTR 索引

    REGEXP_INSTR(source_string, pattern[, start_position[, occurrence[, return_option[, match_parameter]]]])该函数查找 pattern ,并返回该模式的第一个位置。

    您可以随意指定您想要开始搜索的 start_position。 occurrence 参数默认为 1,除非您指定您要查找接下来出现的一个模式。return_option 的默认值为 0,它返回该模式的起始位置;值为 1 则返回符合匹配条件的下一个字符的起始位置。

    SELECT REGEXP_INSTR ('hello itmyhome', 'e') FROM dual

    REGEXP_SUBSTR 提取

    REGEXP_SUBSTR(source_string, pattern[,position [, occurrence[, match_parameter]]])返回匹配模式的子字符串。

         相当于增强的substr函数。Source_string指定源字符表达式;pattern指定规则表达式;position指定起始搜索位置;occurtence指定替换出现的第n个字符串;match_parameter指定默认匹配操作的文本串。   其中position,occurtence,match_parameter参数都是可选的。


        SELECT REGEXP_SUBSTR ('hello my phone is 520 ', '[0-9]+') FROM dual; --520

      REGEXP_COUNT (Oracle 11g 新增)

      REGEXP_COUNT (source_char, pattern [, position [, match_parameter]])统计字符串出现的次数

      select REGEXP_COUNT('123-345-566', '-') from dual;

      预定义的 POSIX 字符簇

      [:alpha:]

      字母字符

      [:lower:]

      小写字母字符

      [:upper:]

      大写字母字符

      [:digit:]

      数字

      [:alnum:]

      字母数字字符

      [:space:]

      空白字符(禁止打印),如回车符、换行符、竖直制表符和换页符

      [:punct:]

      标点字符

      [:cntrl:]

      控制字符(禁止打印)

      [:print:]

      可打印字符

    • 相关阅读:
      微信公众号非善意访问的限制 php curl 伪造UA
      cross-origin HTTP request
      String.prototype.charCodeAt()
      event.preventDefault(); Please enter your name using lowercase letters only.
      type属性对jq-post在ie、chrome、ff的兼容
      鼠标随动悬浮框实现思路
      ThinkPHP 3.1.2 模板中的基本语法<1>
      ThinkPHP 3.1.2 模板中的基本语法<1>
      ThinkPHP 3.1.2 模板中的变量
      ThinkPHP 3.1.2 模板中的变量
    • 原文地址:https://www.cnblogs.com/springsnow/p/9394904.html
    Copyright © 2011-2022 走看看