那些容易忽略的事4-(正则表达式反向引用\n)
n 是一个正整数。一个反向引用(back reference),指向正则表达式中第 n 个括号(从左开始数)中匹配的子字符串。
ps1:从左开始数,从左到优,也是从外到里,依次是\1,\2,\3...\n
ps2:匹配的子字符串。应以的是匹配的结果,而不是引用的对应的正则表达式。
ps3:第 n 个括号内引用\n是无意义的,js引擎会忽略。
ps4:只要含有n大于括号总数的引用时,返回null
'aaabbbcccdddeeefff'.match(/[abc]\1/g);
//null,符合ps4 'aaabbbcccdddeeefff'.match(/([abc])\1/g);
//["aa", "bb", "cc"],符合ps1,ps2 'aaabbbcccdddeeefff'.match(/(([abc])\1)\1/g);
//["aa", "bb", "cc"],符合ps1、ps2、ps3(第一个\1忽略) 'aaabbbcccdddeeefff'.match(/(([abc])\1)\2/g);
//同上 'aaabbbcccdddeeefff'.match(/((([abc])\1)\2)\3/g);
//["aaa", "bbb", "ccc"]
//符合ps3,\1被忽略
那些容易忽略的事4-(正则表达式反向引用\n)的更多相关文章
- JavaScript正则表达式-反向引用
使用括号“()”进行分组,使子表达式(子模式)可以作为整体独立被修饰,子表达式所匹配的结果会被记录下来并可以单独被访问. /(a(b(cd){2})+)EF/ 则各引用分别对应: \1 对应(a(b ...
- JavaScript正则表达式之分组匹配 / 反向引用
语法 元字符:(pattern) 作用:用于反复匹配的分组 属性$1~$9 如果它(们)存在,用于得到对应分组中匹配到的子串 \1或$1 用于匹配第一个分组中的内容 \2或$2 用于匹配第一个分组中的 ...
- HTML结构文档中那些基础又重要又容易被忽略的事?
HTML结构文档中那些基础又重要又容易被忽略的事? 大部分的人,总是会做出这样下意识地判断:简单就是不重要,容易就可以直接忽略掉!其实不然,简有精髓,基石必重,岂能略而不顾!HTML结构文档的编写,可 ...
- Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用
Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用 //准备: 我们先写一个搜索所有英文单词的表达式 var reg: TPerlRegEx; begin reg := TP ...
- 第11.17节 Python 正则表达式扩展功能:命名组功能及组的反向引用
一. 引言 在<第11.16节 Python正则元字符"()"(小括号)与组(group)匹配模式>介绍了组匹配模式,在一个正则表达式内可以定义多个组,每个组都有一个顺 ...
- 对于RegExp反向引用的一点理解
置顶文章:<纯CSS打造银色MacBook Air(完整版)> 上一篇:<关于js的Array.prototype.slice.call> 作者主页:myvin 博主QQ:85 ...
- 前端双引号单引号,正则反向引用,js比较jq
1.js,jq,css,html属性必须双,如果同时出现需要嵌套使用,属性的规范是双但是也可以用单测试有效 单引号现象举例:jq中获取元素标签是单引号:$('input').click:弹出也是单引号 ...
- backreference Oracle正則表達式中的反向引用
这是Oracle对正則表達式的backreference的描写叙述 从定义中能够看到,当匹配表达式中已()的形式将一个子串包括起来.后面就能够以\? 的形式来引用.\1相应第一个(),\2相应第二 ...
- Django model 反向引用中的related_name
转自:https://blog.csdn.net/lanyang123456/article/details/68962515 问题: 定义表Apple: class Apple( models.Mo ...
随机推荐
- Linux下添加磁盘创建lvm分区
shell> fdisk /dev/xvdb #### 选择磁盘 Command (m for help): m #### 帮助 Command action a toggle a bootab ...
- 今日分享一点干货。PHP中课程表的实现。
首先贴代码,代码贴完再细说: 前段HTML: <div id="studentRead" class="reading" style="z-in ...
- curl抓取信息
<?php $hotel = new curl(false,0); $str = $hotel -> post("http://www.todayinns.com/login.p ...
- 万维网发布服务(w3svc)已停止,除非万维网发布服务(w3svc)正在运行。
近来遇到一个IIS服务启动问题,重启服务器PC后,网站启动的时候,提示“ 万维网发布服务(w3svc)已停止,除非万维网发布服务(w3svc)正在运行”. 解决方法: 点击"开始" ...
- C++ 的多重继承
不能够从对象访问基类的公开方法,真悲剧!只能在类里面提供公共函数! void Mentor::GetInfo(){ cout<<endl<<name<<endl&l ...
- C语言初学 比较三个数中最大值的问题
#include<stdio.h> #include<math.h> main() { int x,y,n,m ,z; scanf("%d%d%d",&am ...
- AngularJS自定义表单控件
<!doctype html> <html ng-app="myApp"> <head> <script src="G:\\So ...
- AngularJS自定义表单验证
<!doctype html> <html ng-app="myApp"> <head> <script src="G:\\So ...
- Hibernate学习笔记--第一个Hibernate框架程序
一般使用集成开发环境是,把所需的类库添加到项目属性的库路径中,开发工具在部署时会自动复制所需要的类包到WEB-INF\lib目录下 MyEclipse中: 创建项目,右击项目->myeclips ...
- JUnit使用Eclipse建立Test Suite - 就是爱Java
当JUnit有多个或所有的Test Case要执行,此时就需要Test Suite来管理众多的Test Case,利用Eclipse的整合开发环境,可以针对多个不相关的Test Case或Test S ...