浅谈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 相关文章推荐
checkbox 多选框 联动实现代码
Oct 22 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
Apr 29 Javascript
node.js中的socket.io的广播消息
Dec 15 Javascript
js实现兼容IE和FF的上下层的移动
May 04 Javascript
jQuery判断指定id的对象是否存在的方法
May 22 Javascript
jQuery链式调用与show知识浅析
May 11 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
Sep 08 Javascript
javascript 解决浏览器不支持的问题
Sep 24 Javascript
node.js学习之断言assert的使用示例
Sep 28 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
May 31 Javascript
JS实现的简单tab切换功能完整示例
Jun 20 Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 26 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
PHP+DBM的同学录程序(1)
2006/10/09 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
PHP中overload与override的区别
2017/02/13 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
JavaScript单元测试ABC
2012/04/12 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
2016/11/25 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
使用Python的判断语句模拟三目运算
2015/04/24 Python
python实现一次创建多级目录的方法
2015/05/15 Python
python中requests库session对象的妙用详解
2017/10/30 Python
Python实现购物车功能的方法分析
2017/11/10 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
python exit出错原因整理
2020/08/31 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
美国老牌主机服务商:iPage
2016/07/22 全球购物
意大利奢华内衣制造商:Cosabella
2017/08/29 全球购物
超市国庆节促销方案
2014/02/20 职场文书
益达广告词
2014/03/14 职场文书
垃圾桶标语
2014/06/24 职场文书
药店促销活动总结
2014/07/10 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书
Python包argparse模块常用方法
2021/06/04 Python