浅谈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 相关文章推荐
JavaScript Event学习第四章 传统的事件注册模型
Feb 07 Javascript
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
Nov 05 Javascript
js 处理数组重复元素示例代码
Dec 27 Javascript
jQuery基础知识小结
Dec 22 Javascript
JavaScript中的原型prototype属性使用详解
Jun 05 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
Dec 29 Javascript
原生Javascript插件开发实践
Jan 18 Javascript
基于 webpack2 实现的多入口项目脚手架详解
Jun 26 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
Dec 22 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
Aug 24 Javascript
vue自定义底部导航栏Tabbar的实现代码
Sep 03 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
Nov 24 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
JS中==与===操作符的比较
2009/03/21 Javascript
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
玩转python爬虫之爬取糗事百科段子
2016/02/17 Python
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
python自动化生成IOS的图标
2018/11/13 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
Python基础学习之类与实例基本用法与注意事项详解
2019/06/17 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
Python通过socketserver处理多个链接
2020/03/18 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
美国轮胎网站:Priority Tire
2018/11/28 全球购物
行政前台岗位职责
2013/12/04 职场文书
七一建党日演讲稿
2014/09/05 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
新年祝酒词大全
2015/08/11 职场文书
聘任书的格式及模板
2019/10/28 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python