浅谈JavaScript正则表达式分组匹配


Posted in Javascript onApril 10, 2015

语法

元字符:(pattern)

作用:用于反复匹配的分组

属性$1~$9

如果它(们)存在,用于得到对应分组中匹配到的子串

\1或$1

用于匹配第一个分组中的内容

\2或$2

用于匹配第一个分组中的内容

...

\9或$9

用于匹配第一个分组中的内容

用法示例

var reg = /(A+)((B|C|D)+)(E+)/gi;//该正则表达式有4个分组
//对应关系
//RegExp.$1 <-> (A+)
//RegExp.$2 <-> ((B|C|D)+)
//RegExp.$3 <-> (B|C|D)
//RegExp.$4 <-> (E+)

以上的代码也同时给出了$1~$9的用法

$1~$9是正则表达式预定义的静态属性,通过RegExp.$1引用

分组嵌套关系说明

上述代码也可以说明分组的嵌套关系

//测试环境  Chrome浏览器
var str = "ABCDE";
var reg = /(A+)((B|C|D)+)(E+)/gi;
str.match(reg);//输出:["ABCDE"]
reg.exec(str,'i');//输出:["ABCDE", "A", "BCD", "D", "E"]
RegExp.$1;//输出:"A"
RegExp.$2;//输出:"BCD"
RegExp.$3;//输出:"D"
RegExp.$4;//输出:"E"

这样就可以很明白的看出分组的嵌套关系了

总结来说:大的分组中存在小的分组时,小的分组是排在该大分组后面的分组,以此类推

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
解决FireFox下[使用event很麻烦]的问题
Nov 26 Javascript
JavaScript语法着色引擎(demo及打包文件下载)
Jun 13 Javascript
利用a标签自动解析URL分析网址实例
Oct 20 Javascript
js树插件zTree获取所有选中节点数据的方法
Jan 28 Javascript
jquery中取消和绑定hover事件的实现代码
Jun 02 Javascript
浅谈JS之iframe中的窗口
Sep 13 Javascript
详解VueJS 数据驱动和依赖追踪分析
Jul 26 Javascript
React-router4路由监听的实现
Aug 07 Javascript
three.js实现圆柱体
Dec 30 Javascript
Vue事件修饰符native、self示例详解
Jul 09 Javascript
JavaScript获取某一天所在的星期
Sep 05 Javascript
JavaScript中的各种宽高属性的实现
May 08 Javascript
JavaScript实现基于Cookie的存储类实例
Apr 10 #Javascript
JavaScript 变量、作用域及内存
Apr 08 #Javascript
JavaScript Function函数类型介绍
Apr 08 #Javascript
JavaScript 模块化编程(笔记)
Apr 08 #Javascript
JavaScript DOM事件(笔记)
Apr 08 #Javascript
javascript笛卡尔积算法实现方法
Apr 08 #Javascript
JavaScript获取指定元素位置的方法
Apr 08 #Javascript
You might like
10条PHP高级技巧[修正版]
2011/08/02 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
Gird事件机制初级读本
2007/03/10 Javascript
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
Javascript Throttle &amp; Debounce应用介绍
2013/03/19 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
记一次react前端项目打包优化的方法
2020/03/30 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python中私有函数调用方法解密
2016/04/29 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
法国时尚品牌乐都特瑞士站:La Redoute瑞士
2016/09/05 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
什么是规则表达式
2012/05/03 面试题
《分一分》教学反思
2014/04/13 职场文书
幼师求职自荐信
2014/05/31 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
毕业赠语大全
2015/06/23 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
《学会生存》读后感3篇
2019/12/09 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis