这是Oracle对正則表達式的backreference的描写叙述

从定义中能够看到,当匹配表达式中已()的形式将一个子串包括起来。后面就能够以\?

的形式来引用。\1相应第一个(),\2相应第二个...

反向引用的引入使得正則表達式的匹配功能变得更加强大,介绍两个在oracle正则函数中的应用

regexp_like

regexp_like('1211233','^([0-9])(\d)\1\1\2(\d)\3$')

上面这个样例中,匹配表达式里,\1表示第一个([0-9])。这个表达式要推断字符串中的第3、4位数字是否和第1位同样。而不不过匹配[0-9]

regexp_replace

regexp_replace('1234567','^(.)(.)(.)(.)(.)(.)','\1\2\5')

这里,将符合匹配表达式中的部分替换掉,换成满足\1\2\5的内容,即第一个(.)第二个(.)和第五个(.)

猜猜这里会返回什么?

因为^(.)(.)(.)(.)(.)(.)匹配了字符串的前6位,因此结果为\1\2\5||第6位之后的部分。即1257

转载于:https://www.cnblogs.com/ldxsuanfa/p/9928344.html

backreference Oracle正則表達式中的反向引用相关推荐

  1. python使用正則表達式

    python中使用正則表達式 1. 匹配字符 正則表達式中的元字符有 .  ^  $ *   +  ?  { }  [ ]  \  | ( ) 匹配字符用的模式有 \d 匹配随意数字 \D 匹配随意非 ...

  2. Java正則表達式詳解

    來源:http://www.computerworld.com.cn 如果你曾經用過Perl或任何其他內建正則表達式支持的語言,你一定知道用正則表達式處理文本和匹配模式是多簡單.如果你不熟悉這個術語, ...

  3. 一入python深似海--正則表達式

    字符串是编程时涉及到的最多的一种数据结构.对字符串进行操作的需求差点儿无处不在.比方推断一个字符串是否是一个合法的Email地址.尽管能够编程提取@前后的子串,再分别推断是否是单词和域名,但这样做不但 ...

  4. 正則表達式基本使用方法简单介绍

    正則表達式非常实用, 有些书专门用整本书来讲这个, 可见其博大精深. 有人的地方就有江湖. 有字符串的地方就有正則表達式.所谓的正則表達式, 只是是一种模式/形式罢了. 说白了, 就是一个字符串形式. ...

  5. C++11中正則表達式測试

    VC++2010已经支持regex了, 能够用来编译下述代码. #include <string> #include <regex> #include <iostream ...

  6. 最全正則表達式汇总—想要的都有了

    正则式太难学,并且easy忘记 ,西西是看过非常多次.都是一会就所有不记得了滴.非常多不太懂正则的朋友.在遇到须要用正则校验数据时,往往是在网上去找非常久.结果找来的还是不非常符合要求. 所以我近期把 ...

  7. Java正則表達式入门

     众所周知,在程序开发中,难免会遇到须要匹配.查找.替换.推断字符串的情况发生,而这些情况有时又比較复杂,假设用纯编码方式解决,往往会浪费程序猿的时间及精力.因此,学习及使用正則表達式,便成了解决这一 ...

  8. JAVA正則表達式小总结

    近期项目中正在做后台校验,而后台校验也基本都是使用正則表達式校验.本文做一些粗略的总结. 1.字符串长度:.{1,10},注意有一个点在{}前,表示匹配全部.'{}'之前一定是一个捕获组,因此假设有其 ...

  9. java 正則_Java正則表達式入门

    u)     在这个模式下,假设你还启用了CASE_INSENSITIVE标志,那么它会对Unicode字符进行大写和小写不明感的匹配.默认情况下,大写和小写不敏感的匹配仅仅适用于US-ASCII字符 ...

最新文章

  1. matlab imdilate_MATLAB--数字图像处理 数学形态学应用
  2. linux怎么衡量负载大小,如何查看linux机器的平均负载
  3. POJ2411-Mondriaan's Dream【状态压缩dp】
  4. Spring源码之ApplicationContext(六)注册BeanPostProcessor
  5. VC++使用CImage在内存中Bmp转换Jpeg图片
  6. 水经注地图发布服务中间件管理界面
  7. POI导出Excel时 设置单元格类型为 数值类型 或者文本类型
  8. 2017普及第四题 跳房子 jump DP+二分
  9. IMAC双系统WIN下截屏快捷键
  10. Python安装火狐浏览器驱动
  11. RVDS4.0 破解
  12. 一条短信致倾家荡产?手机验证码安全吗
  13. 服务器缓冲视频文件在哪里,视频缓存在哪个文件里
  14. golang时间类型字符串转时间类型
  15. 宝库\要出发 IOS面试试题
  16. 基于RFID的智能仓库物流管理系统--仓库管理--新导智能
  17. MONGODB 开发架构设计与模型设计
  18. 华三 h3c NAT配置
  19. 百度地图 行政区切换显示
  20. 数学建模培训作业(一)

热门文章

  1. Hadoop存算分离实现方案探讨
  2. linux根据端口查pid、根据pid查端口、根据pid查服务路径
  3. Python pip切换为国内镜像源(亲测可用)
  4. Python3成员运算符(List元素是否存在)
  5. 通过IDEA查看jar包中的依赖关系
  6. 使用QtService实现Qt后台服务程序
  7. VC6.0显示代码行号
  8. static void SetSysClockTo72(void)的一些理解
  9. 1.2.4 计算机的工作过程(从源程序到可执行文件、指令执行过程的描述)
  10. ocelot和nginx比较_nginx + ocelot+.net core signalr 关于websocket无法正常握手的问题