正则表达式:

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

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

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

   select 'ok'
from dual
where regexp_like('','\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数据库正则表达式的更多相关文章

  1. Oracle数据库基础知识

    oracle数据库plsql developer   目录(?)[-] 一     SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...

  2. Oracle数据库学习笔记

    创建表的同时插入数据:create table zhang3 as select * from zhang1;create table zhang3(id,name) as select * from ...

  3. oracle的正则表达式

    阅读目录 1.oracle(regular expression)简单介绍 2.oracle正则特殊字符 3.oracle正则字符簇 4.各种操作符的运算优先级 5.模拟测试例子 6.oracle对应 ...

  4. Oracle数据库常用命令(持续更新)

    1. 查询当前用户所有的表 select * from user_tables; 2. 查询当前用户能访问的表 select * from all_tables; 3. 获取表字段 select * ...

  5. Oracle数据库,忽略大小写Like模糊查询(SQL Server,MySql原理相同)

    背景 在使用Oracle或者其它数据库时,使用like 关键字进行模糊查询是大家经常使用的功能,在纯中文环境中使用非常好用,还有一些通配符可以使用,但是在纯英文环境中,会出现大小需要精确匹配的问题,主 ...

  6. Oracle数据库类型总结

    RACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.LOB类型.LONG RAW& RAW类型.ROWID & ...

  7. Oracle数据库基本语句练习

    以ORACLE数据库为主提纲:第一部分.SQL语言基础 第一章:Oracle命令类别及sql简单语法介绍第二章:oracle的基本函数第三章:oracle的数据类型第四章:多表连接技术 第二部分.or ...

  8. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  9. Oracle 数据库知识汇总篇

    Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...

随机推荐

  1. Probabilistic PCA、Kernel PCA以及t-SNE

    Probabilistic PCA 在之前的文章PCA与LDA介绍中介绍了PCA的基本原理,这一部分主要在此基础上进行扩展,在PCA中引入概率的元素,具体思路是对每个数据$\vec{x}_i$,假设$ ...

  2. 简单认识Adam优化器

    转载地址 https://www.jianshu.com/p/aebcaf8af76e 基于随机梯度下降(SGD)的优化算法在科研和工程的很多领域里都是极其核心的.很多理论或工程问题都可以转化为对目标 ...

  3. 获取客户端用户真实ip方法整理(jekyll迁移)

    layout: post title: 获取客户端用户真实ip方法整理 date: 2019-08-22 author: xiepl1997 tags: springboot 由请求获取客户端ip地址 ...

  4. PYTHON-错误-函数有返回值未接收导致替换不成功

    #1.有返回值,没有赋值,替换不成功 cxj = 'guapi' cxj.replace(cxj,'2b') print(cxj) #2.有返回值,赋值,替换成功 cxj = 'guapi' cxj ...

  5. 使用BurpSuite、Hydra和medusa爆破相关的服务

    一.基本定义 1.爆破=爆破工具(BP/hydra)+字典(用户字典/密码字典). 字典:就是一些用户名或者口令(弱口令/使用社工软件的生成)的集合. 2.BurpSuite 渗透测试神器,使用Jav ...

  6. 笔记:CSS基础

    一.CSS(层叠式样式表),决定页面怎么显示元素 1.引入方式: 行内样式,在当前标签元素中直接使用 style 的属性. 内嵌方式,在<head>中写样式: 外链式,<link&g ...

  7. centos7 + nginx+django 运行环境

    .easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安装easy_install 下载地址:https://pypi.python.org/pypi ...

  8. Spring Boot入门系列(十九)整合mybatis,使用注解实现动态Sql、参数传递等常用操作!

    前面介绍了Spring Boot 整合mybatis 使用注解的方式实现数据库操作,介绍了如何自动生成注解版的mapper 和pojo类. 接下来介绍使用mybatis 常用注解以及如何传参数等数据库 ...

  9. Spring Cloud Config整合Spring Cloud Kubernetes,在k8s上管理配置

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Kubernetes有专门的ConfigMap和Secret来管理配置,但它也有一些局限性,所以还是希望通过Spring C ...

  10. java23种设计模式——三、工厂模式

    源码在我的github和gitee中获取 工厂模式 工厂模式介绍 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式.著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在J ...