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

 更新时间:2020年09月29日 11:10:00   作者:勤快的懒羊羊  
这篇文章主要介绍了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数据库密码重置、导入导出库命令示例应用

    Oracle数据库密码重置、导入导出库命令示例应用

    本节主要介绍了Oracle数据库密码重置、导入导出库命令的基本使用,有需要的朋友可以学习下
    2014-07-07
  • Oracle设置DB、监听和EM开机启动的方法

    Oracle设置DB、监听和EM开机启动的方法

    这篇文章主要介绍了Oracle设置DB、监听和EM开机启动的方法,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Oracle to_date()函数的用法介绍

    Oracle to_date()函数的用法介绍

    to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明,需要的朋友可以参考下
    2014-08-08
  • Oracle临时表空间删除和重建实现过程

    Oracle临时表空间删除和重建实现过程

    这篇文章主要介绍了Oracle临时表空间删除和重建实现过程,临时表空间是NOLOGGING模式以及它不保存永久类型对象,因此即使数据库损毁,做Recovery也不需要恢复Temporary Tablespace。下文更多详细内容介绍需要的小伙伴可以参考一下
    2022-03-03
  • 处理Oracle 监听文件listener.log问题

    处理Oracle 监听文件listener.log问题

    这篇文章主要介绍了处理Oracle 监听文件listener.log问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Oracle分析函数用法详解

    Oracle分析函数用法详解

    本文详细讲解了Oracle分析函数的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 自动备份Oracle数据库

    自动备份Oracle数据库

    自动备份Oracle数据库...
    2007-03-03
  • Oracle开发之分析函数简介Over用法

    Oracle开发之分析函数简介Over用法

    本文主要是对Oracle分析函数概念的简单介绍,同时讲解了Over函数的用法,希望对大家学习分析函数有所帮助。
    2016-05-05
  • oracle数据迁移到db2数据库的实现方法(分享)

    oracle数据迁移到db2数据库的实现方法(分享)

    下面小编就为大家带来一篇oracle数据迁移到db2数据库的实现方法(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 全面解析Oracle Procedure 基本语法

    全面解析Oracle Procedure 基本语法

    这篇文章主要介绍了Oracle Procedure 知识,包括oracle的存储过程注意事项方面的内容,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02

最新评论