专栏首页cwl_Java前端基础-分组/捕获和反向引用

前端基础-分组/捕获和反向引用

第4章 分组/捕获和反向引用

捕获和反向引用的语法的解释

子表达式 在正则表达式中,通过一对圆括号括起来的内容,我们就称之为“子表达式”。如: var reg = /\d(\d)\d/gi;

捕获(分组) 在正则表达式中,子表达式匹配到相应的内容时,系统会自动捕获这个行为, 然后将子表达式匹配到的内容放入系统的缓存区中。我们把这个过程就称之为“捕获”。

反向引用 在正则表达式中,我们可以使用\n(n>0,正整数,代表系统中的缓冲区编号) 来获取缓冲区中的内容,我们把这个过程就称之为“反向引用”。

在正则语法中,用“\1”来引用前面的捕获(使用子表达式匹配的结果)。用\2表示第二个捕获的内容….

在正则语法外(如replace时),用“$1”来引用前面的捕获。

	var str = '1122 3434 5566 7879 9887';
	//匹配连续四个数字,第一和第二数字相同,第三和第四数字相同
	var res = str.match(/(\d)\1(\d)\2/g);
	console.log(res);
	//匹配连续四个数字,第一和第三数字相同,第二和第四数字相同
	var res = str.match(/(\d)(\d)\1\2/g);
	console.log(res);
	//匹配连续四个数字,第一和第三数字相同
	var res = str.match(/(\d)\d\1\d/g);
	console.log(res);
	//匹配连续四个数字,第一和第二数字相同,第三和第四数字相同,并将相同的数字只保留一个
	var res = str.replace(/(\d)\1(\d)\2/g, '$1$2');
	console.log(res);

禁止引用

(?:正则) 这个小括号中的内容不能够被引用

​ //第一次捕获禁止引用

	var str = '1122 3434 5566 7879 9887';
	var res = str.match(/(?:\d)(\d)\1\d/g);
	console.log(res);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 前端基础-正则表达式(环视)

    (?!B)[A-Z]这种写法,其实它是[A-Z]范围里,排除B的意思,前置的(?!B)只是对后面数据的一个限定,从而达到过滤匹配的效果。

    cwl_java
  • 设计模式-中介者

    cwl_java
  • 经典笔试题-Java 编程,打印昨天的当前时刻

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    cwl_java
  • 小程序体验版 新用户登录不了

    console.log(wx.getStorageSync("userInfo").id )

    用户6663311
  • 借助VR,二战老兵得以在其参与解放的法国小镇“故地重游”

    VRPinea
  • 【leetcode】背包问题

    完全背包的特点恰是每种物品可选无限件,所以就可以并且必须采用 w = W[i]…carry 的顺序循环:

    JNingWei
  • hdu----(5055)Bob and math problem(贪心)

    Bob and math problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 327...

    Gxjun
  • Spring------自动化装配Bean(一) 一、创建 CompactDisc接口和SgetPeppers实现类二、启用spring组件扫描三、编写测试类,并运行 四、补充说明

      CompactDisc接口方法为播放。SgtPeppers实现CompactDisc接口。

    用户2417870
  • 使用hta操作nginx停止、重启

    新上线的webgame需要做一个官网,做好了并上线了(切割、程序、后台,后台使用是java版本的jeecms),但仅仅是自己家的官网做好了,现在上面的想法是需要...

    meteoric
  • ClickHouse和他的朋友们(2)MySQL Protocol和Read调用栈

    原文出处:https://bohutang.me/2020/06/07/clickhouse-and-friends-mysql-protocol-read-s...

    老叶茶馆

扫码关注云+社区

领取腾讯云代金券