搜索热词

oracle正则表达式:入门容易,精通难。

@H_403_3@

一、ORACLE中的支持正则表达式的函数主要有四个:@H_403_3@ @H_403_3@ 1,REGEXP_LIKE :与LIKE的功能相似@H_403_3@ 2,REGEXP_INSTR :与INSTR的功能相似@H_403_3@ 3,REGEXP_SUBSTR :与SUBSTR的功能相似@H_403_3@ 4,REGEXP_REPLACE :与REPLACE的功能相似@H_403_3@

它们在用法上与Oracle sql 函数LIKE、INSTR、SUBSTR 和REPLACE 用法相同,@H_403_3@ 但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。@H_403_3@

二、 POSIX 正则表达式由标准的元字符(Metacharacters)所构成:@H_403_3@ @H_403_3@ @H_403_3@ '^' 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。@H_403_3@ '$' 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。@H_403_3@ '.' 匹配除换行符之外的任何单字符。@H_403_3@ '?' 匹配前面的子表达式零次或一次。@H_403_3@ '+' 匹配前面的子表达式一次或多次。@H_403_3@ '*' 匹配前面的子表达式零次或多次。@H_403_3@ '|' 指明两项之间的一个选择。例子'^([a-z]+|[0-9]+)$'表示所有小写字母或数字组合成的字符串。@H_403_3@ '( )' 标记一个子表达式的开始和结束位置。@H_403_3@ '[]' 标记一个中括号表达式。@H_403_3@ @H_403_3@ @H_403_3@ '{m,n}' 一个精确地出现次数范围,m=

五、Oracle REGEXP_LIKE介绍和例子@H_403_3@ --创建表@H_403_3@ create table fzq (id varchar2(4),value varchar2(10));@H_403_3@ --数据插入@H_403_3@ insert into fzq values ('1','1234560');@H_403_3@ insert into fzq values ('2','1234560');@H_403_3@ insert into fzq values ('3','1b3b560');@H_403_3@ insert into fzq values ('4','abc');@H_403_3@ insert into fzq values ('5','abcde');@H_403_3@ insert into fzq values ('6','ADREasx');@H_403_3@ insert into fzq values ('7','123 45');@H_403_3@ insert into fzq values ('8','adc de');@H_403_3@ insert into fzq values ('9','adc,.de');@H_403_3@ insert into fzq values ('10','1B');@H_403_3@ insert into fzq values ('10','abcbvbnb');@H_403_3@ insert into fzq values ('11','11114560');@H_403_3@ insert into fzq values ('11','11124560');@H_403_3@ @H_403_3@ @H_403_3@ --regexp_like@H_403_3@ --查询value中以1开头60结束的记录并且长度是7位@H_403_3@ select * from fzq where value like '1____60';@H_403_3@ select * from fzq where regexp_like(value,'1....60');@H_403_3@ select * from a where regexp_like(name_a,'d$');@H_403_3@ @H_403_3@ @H_403_3@ --查询value中以1开头60结束的记录并且长度是7位并且全部是数字的记录。@H_403_3@ --使用like就不是很好实现了。@H_403_3@ select * from fzq where regexp_like(value,'^1[0-9]{4}60$');@H_403_3@ @H_403_3@ @H_403_3@ -- 也可以这样实现,使用字符集。@H_403_3@ select * from fzq where regexp_like(value,'1[[:digit:]]{4}60');@H_403_3@ @H_403_3@ @H_403_3@ -- 查询value中不是纯数字的记录@H_403_3@ select * from fzq where not regexp_like(value,'^[[:digit:]]+$');@H_403_3@ @H_403_3@ @H_403_3@ -- 查询value中不包含任何数字的记录。@H_403_3@ select * from fzq where regexp_like(value,'^[^[:digit:]]+$');@H_403_3@ @H_403_3@ @H_403_3@ --查询以12或者1b开头的记录.不区分大小写。@H_403_3@ select * from fzq where regexp_like(value,'^1[2b]','i');@H_403_3@ @H_403_3@ @H_403_3@ --查询以12或者1b开头的记录.区分大小写。@H_403_3@ select * from fzq where regexp_like(value,'^1[2B]');@H_403_3@ @H_403_3@ @H_403_3@ -- 查询数据中包含空白的记录。@H_403_3@ select * from fzq where regexp_like(value,'[[:space:]]');@H_403_3@ @H_403_3@ @H_403_3@ --查询所有包含小写字母或者数字的记录。@H_403_3@ select * from fzq where regexp_like(value,'^([a-z]+|[0-9]+)$');@H_403_3@ @H_403_3@ @H_403_3@ --查询任何包含标点符号的记录。@H_403_3@ select * from fzq where regexp_like(value,'[[:punct:]]');

@H_403_3@

六、REGEXP_REPLACE(字符串替换函数) REPLACE 函数是用另外一个值来替代串中的某个值。例如,可以用一个匹配数字来替代字母的每一次出现。REPLACE 的格式如下所示: 原型:regexp_replace(x,pattern[,replace_string[,start[,occurence[match_option]]]]) 每个参数的意思分别是: x 待匹配的函数 pattern 正则表达式元字符构成的匹配模式 replace_string 替换字符串 start 开始位置 occurence 匹配次数 match_option 匹配参数,这里的匹配参数和regexp_like是完全一样的,可参考前面的一篇文章。 举例来讲: sql> select regexp_replace('hello everybody,051courses will be over soon,thanks.','b[[:alpha:]]{3}','one') from dual; REGEXP_REPLACE('HELLOEVERYBODY,047COURSESWILLBEOVER --------------------------------------------------- hello everyone,thanks.

总结

以上是编程之家为你收集整理的oracle正则表达式(详细)全部内容,希望文章能够帮你解决oracle正则表达式(详细)所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

Oracle 身份证号正则,oracle正则表达式(详细)相关推荐

  1. oracle身份证号substr,Oracle substr()与substrb()

    SUBSTR(c1, n1) 从字符串中指定的开始位置,取得后面的字符串 SUBSTRB(c1 , n1) SUBSTR(c1, n1, n2 ) 从字符串中指定的开始位置,取得指定字符数的字符串 S ...

  2. oracle 单引号 逗号,Oracle中的单引号(转义)

    转:https://blog.csdn.net/learning_oracle_lh/article/details/46639507 ORACLE单引号转义: **在ORACLE中,单引号有两个作用 ...

  3. js身份证号正则判断

    项目中会遇到验证身份证号是否正确的需求 封装成公用方法: export default function IdentityCodeValid(code) {const city = {11: '北京' ...

  4. 前端校验身份证号正则,校验规则省份、年月日,包含15位校验(完整)

    //省份对应的代号 ``` const city = {11: '北京',12: '天津',13: '河北',14: '山西',15: '内蒙古',21: '辽宁',22: '吉林',23: '黑龙江 ...

  5. Linux上Oracle 11g安装步骤图解(超详细图文教程)附带导入数据和新建数据库教程

    首先本文采用Docker方式快速在Linux上安装 目录 1.安装Docker容器 (1)登陆服务器,输入命令安装Docker容器 (2)安装完成后运行下列代码如果弹出Docker版本则表示安装成功 ...

  6. 验证身份证号 格式问题

    导入的时候 验证身份证号的格式问题 if(!sfzh.equals("")&&isIDNumber(sfzh) == false){returnMap.put(&q ...

  7. JS 手机号、姓名、身份证号脱敏处理

    需求1: 11位手机号中间四位脱敏显示,例如:187****1234 function noPassByMobile(str){if(null != str && str != und ...

  8. oracle 导出身份证号_ORACLE对身份证号码处理相关的SQL【收藏】

    /*ORACLE对身份证号码处理相关的SQL汇总 身份证号码算法及应用场景: 工作实践总结,与大家分享快乐,并请高人批评指正,努力改进: 目前我国大量存在着正在有效期的15位身份证,虽然国家在推行二代 ...

  9. oracle 导出身份证号_oracle 根据身份证号计算出生日期

    1.情景展示 如何根据身份证号推算出出生日期? 2.解决方案 --根据身份证号计算出生日期 SELECT DECODE(LENGTH(ID_CARD), 18, SUBSTR(ID_CARD, 7, ...

最新文章

  1. ubuntu svn安装
  2. 解决不了bug的时候看一下:
  3. Ubuntu x64安装Android studio 全部步骤和问题解决
  4. python画树叶-手把手|如何用Python绘制JS地图?
  5. ssm 异常捕获 统一处理_统一异常处理介绍及实战
  6. ( function(){…} )()
  7. C++:11---友元函数、友元类
  8. java蓝桥杯算法训练 相l邻字母(题解)
  9. vSAN其实很简单-如何榨干vSAN的最后的空间- Part2(转)
  10. IIS安装前已经安装了.NET Framework,安装后如何启用.NETFramework
  11. 速达5000维护服务器,财务软件速达5000为什么连不上服务器
  12. 摩尔斯电码之Python实现
  13. C#无损高质量压缩图片实现代码
  14. 马云:眼光有多远 未来就有多远【2014世界互联网大会】
  15. 电脑遇到蓝屏的时候怎么解决
  16. 《JeolOnSoftware》
  17. HBM (High Bandwidth Memory)
  18. 高校实验室仪器设备管理系统/高校设备管理系统
  19. DCMTK读取dicom图像
  20. matlab 天线设计 泰勒加权_泰勒加权功分器

热门文章

  1. oracle数据库中游标的使用,oracle数据库游标的使用方法
  2. html mp3默认播放器,Win7系统下设置默认音乐播放器的两种方法
  3. 大并发量,大数据量基于SSH应用程序架构有关问题
  4. twitter mysql_MySQL在Twitter的应用以及Mysos介绍
  5. 素數(Prime Number),亦称质数
  6. fluentd教程(含实例)
  7. 看统计数据如何颠覆你的网络安全观,2017年第一季度IT威胁及演变
  8. Springboot整合Neo4j和Mysql多数据源整合方案及其解决冲突问题方法
  9. 计算机管理施工中的应用,计算机技术在施工管理中的应用.doc
  10. react native开发Android 篇——APP名称、图标、启动页