Oracle数据库正则表达式
正则表达式:
无论是在前端还是后台正则表达式都是一个至关重要的知识点,例如判断一个手机号码输入是否正确,如果使用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数据库正则表达式的更多相关文章
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
- Oracle数据库学习笔记
创建表的同时插入数据:create table zhang3 as select * from zhang1;create table zhang3(id,name) as select * from ...
- oracle的正则表达式
阅读目录 1.oracle(regular expression)简单介绍 2.oracle正则特殊字符 3.oracle正则字符簇 4.各种操作符的运算优先级 5.模拟测试例子 6.oracle对应 ...
- Oracle数据库常用命令(持续更新)
1. 查询当前用户所有的表 select * from user_tables; 2. 查询当前用户能访问的表 select * from all_tables; 3. 获取表字段 select * ...
- Oracle数据库,忽略大小写Like模糊查询(SQL Server,MySql原理相同)
背景 在使用Oracle或者其它数据库时,使用like 关键字进行模糊查询是大家经常使用的功能,在纯中文环境中使用非常好用,还有一些通配符可以使用,但是在纯英文环境中,会出现大小需要精确匹配的问题,主 ...
- Oracle数据库类型总结
RACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.LOB类型.LONG RAW& RAW类型.ROWID & ...
- Oracle数据库基本语句练习
以ORACLE数据库为主提纲:第一部分.SQL语言基础 第一章:Oracle命令类别及sql简单语法介绍第二章:oracle的基本函数第三章:oracle的数据类型第四章:多表连接技术 第二部分.or ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
随机推荐
- Deep Learning-Based Document Modeling for Personality Detection from Text 阅读笔记
文章目录 代码地址 1. 摘要 2. 方法综述 2.1 输入信息预处理 2.2 文档层面的格式特征提取 2.3 数据过滤 2.4 单词层面上的特征提取 2.5分类 3. 分类网络结构 3.1 步骤 3 ...
- 5G从小就梦想着自己要迎娶:高速率、低时延、大容量三个老婆
摘要:2020年7月9日,ITU正式把NB-IoT纳入5G标准体系! 高速率.低时延与5G是青梅竹马的关系,在大容量的选择上,5G与NB-IoT不断传出着绯闻,终于:2020年7月9日,ITU正式把N ...
- BufferedReader、BufferedWriter读写文件乱码问题:
代码: text4500.txt文档用text打开(不知道格式): 读取会出现乱码,然后用Notepad++打开换成UTF-8格式的.就可以了
- cvsnt 和wincvs 的安装配置既简单操作 2007-07-28 11:33
CVSNT 配置 版本:CVSNT 2.5.03(Scorpio)Build 2382 安装过程:简单一路next即可. 配置: (一)我们先准备好两个目录,分别是KHRoot,和KHTemp.KHR ...
- hadoop2.6虚拟机安装
Linux环境设置/*安装Hadoop集群时要确保以下几个方面1.本机与虚拟机之间是否可以通信(Ping).如果不行检查下面 1.1本机防火墙关闭(开启情况是本机可以ping虚拟机,虚拟机不能ping ...
- VMware Workstation 15 Pro安装带图形化界面的CentOS7
1.双击打开“VMware Workstation”,然后选择“创建新的虚拟机” 2.在安装向导中,选择“稍后安装操作系统”,然后点击“下一步”继续安装 3.在“客户机操作系统”中选择“Linux(L ...
- manjaro与python开发环境配置
1.manjaro配置 1.1.启动项 sudo update-grub 注:Manjaro(archLinux)系统时间快8小时--> sudo timedatectl set-local-r ...
- yb课堂之压力测试工具Jmeter5.X 实战《二十二》
目前常用的测试工具对比 LoadRunner 性能稳定,压测结果及细粒度大,可以自定义脚本进行压力,但是太过于重大,功能比较繁多 Apache AB(单接口压测最方便) 模拟多线程并发请求,ab命令对 ...
- Centos7 Minimal 版安装后安装图形界面教程
1.执行下面命令安装GNOME Desktop Environment yum -y groups install "GNOME Desktop" 2.安装完成后,执行下面的命令, ...
- 常用sql语句整理
1.开/关 外键约束 -- 关 SET FOREIGN_KEY_CHECKS = 0; -- 开 SET FOREIGN_KEY_CHECKS = 1; 2.查看表的容量大小 use informat ...