• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Oracle数据库正则表达式使用场景代码实例

    正则表达式:

    无论是在前端还是后台正则表达式都是一个至关重要的知识点,例如判断一个手机号码输入是否正确,如果使用Java、C或者其他语言进行字符串进行判断,也许写几十行代码都不一定能解决,而且漏洞百出,而使用正则表达式,一行代码则可轻易解决,下面是举例说明正则表达式的用法:

    1: \d 代表一个(阿拉伯数字) 任意数字

    例如:判断用户输入的是否为11位数字(当然手机号码是不能这么简答的表达,只是解释一下\d的用法)

     select 'ok'
     from dual
     where regexp_like('18812345678','\d\d\d\d\d\d\d\d\d\d\d')

    2: . 代表一个(任意字母) 任意字母

      这里需要注意的是,如果输入的数字确实需要字母 . 的话,不能直接输 . 要转换一下格式,输入 \. 即可,这个需要注意。

    3: [[:number:]] 一个任意数字(可以使十六进制)

    这个用的并不多,如果现实十六进制,可以使用如下方式即可

     select 'ok'
     from dual
     where regexp_like('str','[0-9a-fA-F]')

    4: [[:alpha:]] 一个任意大小写字母

    5: [ ] 匹配到方括号内的其中一个字母

    方括号中只能匹配到其中的任意一个字母,或者是7 或者是8或者是9,只能是1个

     select 'ok'
     from dual
     where regexp_like('8','[379]')

    例如下面的就是ASCII码中,数字3到ASCII码 小写的 a 其中的任意一个字符的匹配

    select 'ok'
    from dual
    where regexp_like('9','[3-a]')  

    当然如果是12345678这样的连续的数字可以这么写

     select 'ok'
     from dual
     where regexp_like('str','[1-8]')

    如果是要匹配 12345678 中的其中一个,或者是字母 a也行,就可以这么写,a可以写到前边,也可以写到后面,这并无所谓,因为只匹配一个而已

     select 'ok'
     from dual
     where regexp_like('str','[a1-8]')

    6: () 单词匹配

    单词匹配,一般用竖线隔开,例如:小明喜欢吃苹果或者香蕉或者樱桃,此时就应该是用单词的匹配,在圆括号中任选一个。

     select 'ok'
     from dual
     where regexp_like('小明喜欢吃苹果.','小明喜欢吃(苹果|香蕉|樱桃)\.')

    7:量词:来修饰左侧的元素的数量,三个量词

      7.1: * 0到任意多个
      7.2: + 1到任意多个
      7.3: ? 0或者1个

    {N},代表左侧有N个数据,比如上面的手机号码验证,\d 需要输入9个,这里就可以使用{N}来简化一下,\d是数字,然后\d{10},代表这里有10个数字

     select 'ok'
     from dual
     where regexp_like('str','1\d{10}')

    如果是:{2,10} 代表左侧的东西 最少有2个,最多有10个

    9:引导符: ^ :在正则表达式最前方使用 ^ ,代表只能按照表达式的格式去匹配

    10:结束符: $ :在正则表达式最后面使用 ¥ ,代表只能按照表达式的格式去匹配

    出现前导符的原因:因为正则表达式只匹配"表达式匹配条件的内容",之外的不匹配

    11:\n 换行

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的代码详解
    • Oracle中正则表达式的使用实例教程
    • Oracle 正则表达式实例详解
    • ORACLE数据库中怎么求除数字、字母之外的非中文字符的正则表达式
    • oracle正则表达式regexp_like的用法详解
    • Oracle正则表达式使用介绍
    • Oracle 10G:PL/SQL正规表达式(正则表达式)手册
    • ORACLE 正则解决初使化数据格式不一致
    上一篇:通过实例了解Oracle序列Sequence使用方法
    下一篇:Oracle如何给数据库添加约束过程解析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Oracle数据库正则表达式使用场景代码实例 Oracle,数据库,正则,表达式,