反向引用

捕获会返回一个捕获组,这个分组是保存在内存中的,不仅可以在正则表达式外部通过程序进行引用,也可以在正则表达式内部进行引用,这种引用方式就是反向引用。
根据捕获组的命名规则,反向引用可分为:
1.数字编号组反向引用:\k或\number
2.命名编号组反向引用:\k或\‘name’
捕获组是匹配子表达式的内容按序号或者命名保存起来以便使用,主要是用来查找一些重复的内容或者替换指定字符。

Java捕获组

捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建。
例如,正则表达式 (dog) 创建了单一分组,组里包含"d",“o”,和"g"。
捕获组是通过从左至右计算其开括号来编号。例如,在表达式((A)(B (C))),有四个这样的组:
((A)(B ( C )))
(A)
(B (C ))
( C )
可以通过调用 matcher 对象的 groupCount 方法来查看表达式有多少个分组。groupCount 方法返回一个 int 值,表示matcher对象当前有多个捕获组。
还有一个特殊的组(group(0)),它总是代表整个表达式。该组不包括在 groupCount 的返回值中。

1 select
'ccabab' rlike "(\\w)(\\w)\\1\\2"
2 select
'abac' regexp '(\\w)(\\w)\\1\\2'
3 selectregexp_replace('ababcccdcd','(\\w)(\\w)\\1\\2','')
4 select
regexp_extract('ababcccdcd','(\\w)(\\w)\\1\\2',0)

注意:
1.反向引用数字用\\1
2.regexp_replace是全部替换
3.regexp_extract函数index=0,如果不提供则index默认为1,同时提取是第一配对的字段串
regexp_extract函数源码

hive正则表达式反向引用相关推荐

  1. Java正则表达式中的反向引用

    Java正则表达式中的反向引用是Java提供的另一个重要功能. 要了解反向引用 ,我们首先需要了解群组 . 正则表达式中的分组意味着将多个字符视为一个单元. 通过将要分组的字符放在一组括号" ...

  2. 正则表达式的捕获性分组/反向引用

    文章目录 分组 捕获性分组和反向引用 分组 正则的分组主要通过小括号来实现,括号包裹的子表达式作为一个分组,括号后可以紧跟限定词表示重复次数.如下,小括号内包裹的 abc 便是一个分组: // (ab ...

  3. 正则表达式之反向引用

    1.概述 捕获组捕获到的内容,不仅可以在正则表达式外部通过程序进行引用,也可以在正则表达式内部进行引用,这种引用方式就是反向引用.要了解反向引用,首先要了解捕获组,关于捕获组,参考 正则基础之--捕获 ...

  4. 【C#进阶二】C#中的正则表达式知识总结(字符转义/字符类/ 定位点/ 分组构造 /数量词/反向引用构造/替换构造/替代/正则表达式选项)(理论篇)

    文章目录 0. 正则表达式网站推荐 1.字符转义 2.字符类 3. 定位点 4. 分组构造 5.数量词 6.反向引用构造 7.替换构造 8.替代 9.正则表达式选项 正则表达式是对字符串操作的一种逻辑 ...

  5. hive 正则表达式

    https://www.runoob.com/regexp/regexp-syntax.html 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用 ...

  6. Hive正则表达式案例

    一.元字符 (摘自百度百科) 符号 描述 . 匹配除"\n"和"\r"之外的任何单个字符 [a-z] 字符范围,匹配指定范围内的任意字符 [0-9] 数字集合, ...

  7. java 正则 反向引用_正则之反向引用

    前言 某日在逛stackoverflow时,发现侧边栏的Hot Network Questions里有一例codegolf的问题Does it repeat?. 挑战 好奇之下点入观看,该题主的挑战如 ...

  8. 正则基础之——反向引用

    From: http://blog.csdn.net/lxcnn/article/details/4476746 1        概述 捕获组捕获到的内容,不仅可以在正则表达式外部通过程序进行引用, ...

  9. php反向引用,JavaScript 正则应用详解【模式、欲查、反向引用等】

    本文实例讲述了JavaScript 正则应用.分享给大家供大家参考,具体如下: 正则应用 正则表达式在web开发中的常用 邮箱验证 用户名验证 替换字符串某一部分 信息采集,用来分析有效代码段 ... ...

最新文章

  1. Saltstack自动化环境部署
  2. 2018-01-24
  3. javsscript练习
  4. cmd copy命令 文件复制【转】
  5. ImportError: cannot import name 'is_string_like'
  6. vue = 什么意思_记录使用@vue/cli搭建Vue3项目完整流程
  7. python中序列类型和数组之间的区别_「Python」序列构成的数组
  8. 初学者怎么自学python编程_怎样自学python编程?从零开始学习python,400集免费教程!...
  9. 副本验证失败,指定域文件复制服务(FRS)复制SYSVOL共享。FRS弃用。
  10. keyshot局部打光_keyshot7耳机渲染打光教程
  11. 对while((pid = waitpid(-1, stat, WNOHANG)) 0)不懂的地方,现在懂了
  12. 空间应用统计分析(回归分析)
  13. 阿里旺旺2012自动登录
  14. 电子邮件如何运行(MTA,MDA,MUA)
  15. 多个dwg文件批量合并_插件分享 | 多张单独内容DWG快速合并到一个文件
  16. 前后端通吃,vue大全Mark一下
  17. 如何选择配置管理工具
  18. ARM汇编 BIC和ORR指令
  19. 《洛克菲勒留给儿子的38封信》
  20. 关闭与卸载xxx终端防护系统时需要密码怎么办?

热门文章

  1. Java实现 蓝桥杯 算法提高 快乐司机
  2. 老司机带你快速熟悉Swift 4.1(一)
  3. FX3U控制松下服务器位置不准,三菱FX3UPLC如何控制松下伺服_.docx
  4. Pytorch基础入门
  5. android桌面布局保存在哪里,android-DatePickerDialog保存屏幕上的布局旋转
  6. 爱的乐章,Hibernate之三部曲
  7. 团队的英文翻译缩写_团队英语怎么写
  8. OSChina 周五乱弹 —— 但愿老死电脑间,不愿鞠躬老板前
  9. 访谈:Brendan Eich对JavaScript的祝福和诅咒
  10. 基于单片机MC9S12XS128的两轮自平衡小车设计