浅谈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 相关文章推荐
js二维数组排序的简单示例代码
Jan 24 Javascript
js与css实现弹出层覆盖整个页面的方法
Dec 13 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
Apr 16 Javascript
javascript冒泡排序小结
Apr 10 Javascript
总结Node.js中的一些错误类型
Aug 15 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
Aug 31 Javascript
jquery实现全选、不选、反选的两种方法
Sep 06 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
Jan 19 Javascript
详解Vue 动态组件与全局事件绑定总结
Nov 11 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
Mar 04 Javascript
Vue-Cli项目优化操作的实现
Oct 27 Javascript
jquery轮播图插件使用方法详解
Jul 31 jQuery
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
php预定义变量使用帮助(带实例)
2013/10/30 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
window.dialogArguments 使用说明
2011/04/11 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
jQuery 选择同时包含两个class的元素的实现方法
2016/06/01 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
详解JavaScript调用栈、尾递归和手动优化
2017/06/03 Javascript
js实现购物车功能
2018/06/12 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python函数形参用法实例分析
2015/08/04 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
pandas如何处理缺失值
2019/07/31 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
简述python Scrapy框架
2020/08/17 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
python空元组在all中返回结果详解
2020/12/15 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
会计出纳岗位职责
2013/12/25 职场文书
高中毕业生自我鉴定例文
2013/12/29 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
校园安全演讲稿
2014/05/09 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
成绩单家长意见
2015/06/03 职场文书
仓库管理制度范本
2015/08/04 职场文书