浅谈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 相关文章推荐
ext 同步和异步示例代码
Sep 18 Javascript
改写一个简单的菜单 弹性大小
Dec 02 Javascript
js正文内容高亮效果的实现方法
Jun 30 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
Nov 14 Javascript
JQuery解析HTML、JSON和XML实例详解
Mar 29 Javascript
JavaScript DOM操作表格及样式
Apr 13 Javascript
jQuery表格插件datatables用法详解
Nov 23 Javascript
jquery mobile实现可折叠的导航按钮
Mar 11 Javascript
JavaScript中双向数据绑定详解
May 03 Javascript
vue 实现的树形菜的实例代码
Mar 19 Javascript
React中的render何时执行过程
Apr 13 Javascript
如何编写一个 Webpack Loader的实现
Oct 18 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
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
PHP array 的加法操作代码
2010/07/24 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
微信支付扫码支付php版
2016/07/22 PHP
jquery tab插件制作实现代码
2010/06/22 Javascript
jquery click([data],fn)使用方法实例介绍
2013/07/08 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
JavaScript判断输入是否为数字类型的方法总结
2017/09/28 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python数组遍历的简单实现方法小结
2016/04/27 Python
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
Python递归实现汉诺塔算法示例
2018/03/19 Python
python实现根据文件格式分类
2019/10/31 Python
Python:slice与indices的用法
2019/11/25 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
Python类成员继承重写的实现
2020/09/16 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
html5 canvas实现圆形时钟代码分享
2013/12/25 HTML / CSS
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
解除劳动合同协议书
2014/04/14 职场文书
IT工程师岗位职责
2014/07/04 职场文书
英文演讲稿开场白
2014/08/25 职场文书
党代会心得体会
2014/09/04 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
费用申请报告范文
2015/05/15 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书