zoukankan      html  css  js  c++  java
  • oracle正则表达式语法介绍及实现*匹配方法

      Oracle10g提供了在查询中使用正则表达的功能,它是通过各种支持正则表达式的函数在where子句中实现的。本文将简单的介绍oracle正则表达式常用语法,并通过一个手机特号匹配的例子演示正则表达式的使用。

      1、oracle正则表达常用语法        

     定位元字符

    元字符

    说明

    ^

    使表达式定位至一行的开头

    $

    使表达式定位至一行的末尾

    量词或重复操作符

    量词

    说明

    *

    匹配 0 次或更多次

    ?

    匹配 0 次或 1 次

    +

    匹配 1 次或更多次

    {m}

    正好匹配 m 次

    {m,}

    至少匹配 m 次

    {m, n}

    至少匹配 m 次但不超过 n 次

    POSIX 字符类

    字符类

    说明

    [:alpha:]

    字母字符

    [:lower:]

    小写字母字符

    [:upper:]

    大写字母字符

    [:digit:]

    数字

    [:alnum:]

    字母数字字符

    [:space:]

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

    [:punct:]

    标点字符

    [:cntrl:]

    控制字符(禁止打印)

    [:print:]

    可打印字符

    模式匹配

    项目

    说明

    n为一个 1 到 9 之间的数字,反斜线匹配之前的用括号括起来的第n个子表达式。

    ()

    子表达式。

    []

    字符列表

    REGEXP_LIKE 函数

    语法

    说明

    REGEXP_LIKE(source_string, pattern
    [, match_parameter])

    source_string 支持字符数据类型(CHAR、VARCHAR2、CLOB、NCHAR、NVARCHAR2 和 NCLOB,但不包括 LONG)。pattern 参数是正则表达式的另一个名称。match_parameter 允许可选的参数(如处理换行符、保留多行格式化以及提供对区分大小写的控制)。

       2、oracle正则表达匹配手机特号   

           尾号四连号:([0123456789])111$   如:13498212222、13613431111

                          sql:select * from tb_phone where REGEXP_LIKE(phone_no,'([0123456789])111$')

           尾号四连顺:(0123|1234|2345|3456|4567|5678|6789)$  如:13576531234、13623432345

           尾号倒四连顺:(9876|8765|7654|6543|5432|4321|3210)$  如:13512329876、13676987654

           尾号00XX:00[[:digit:]][[:digit:]]$  如:13512320023、13512320035

           尾号AABB:([[:digit:]])1([[:digit:]])2$  如:13567545566

           尾号ABAB:([[:digit:]]{2})1$   如:13545341212

           尾号AAAB:([[:digit:]])11[[:digit:]]$  如:13564326667

    转载于:

    https://www.cnblogs.com/wanghonghu/archive/2012/05/12/2497392.html

  • 相关阅读:
    luogu 2962 [USACO09NOV]灯Lights
    bzoj 1923
    bzoj 1013
    bzoj 3513
    bzoj 4259
    bzoj 4503
    CF 632E
    bzoj 3527
    bzoj 3160
    bzoj 2179
  • 原文地址:https://www.cnblogs.com/liuxiaochong/p/13476827.html
Copyright © 2011-2022 走看看