浅谈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 相关文章推荐
jquery UI 1.72 之datepicker
Dec 29 Javascript
jQuery大于号(&gt;)选择器的作用解释
Jan 13 Javascript
浅析Bootstrap组件之面板组件
May 04 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
May 10 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
Vue单文件组件的如何使用方式介绍
Jul 28 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
Dec 19 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
Aug 31 Javascript
javascript中一些奇葩的日期换算方法总结
Nov 14 Javascript
微信小程序实现下拉刷新动画
Jun 21 Javascript
JavaScript实现京东快递单号查询
Nov 30 Javascript
vue实现简易的双向数据绑定
Dec 29 Vue.js
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
一个颜色轮换的简单例子
2006/10/09 PHP
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
python中property和setter装饰器用法
2019/12/19 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
C#里面可以避免一个类被其他类继承么?如何?
2013/09/26 面试题
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
十月围城观后感
2015/06/08 职场文书
师德师风培训感言
2015/08/03 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python
什么是Python装饰器?如何定义和使用?
2022/04/11 Python