浅谈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高级程序设计 阅读笔记(十七) js事件
Aug 14 Javascript
jquery实现input输入框实时输入触发事件代码
Jan 28 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
Jun 06 Javascript
js使用递归解析xml
Dec 12 Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 Javascript
详解vue之页面缓存问题(基于2.0)
Jan 10 Javascript
Bootstrap表单控件学习使用
Mar 07 Javascript
Vue.js组件tab实现选项卡切换
Mar 23 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
May 26 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
Jun 19 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
Sep 07 Javascript
说说Vuex的getters属性的具体用法
Apr 15 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中的注释、变量、数组、常量、函数应用介绍
2012/11/16 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
python with statement 进行文件操作指南
2014/08/22 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
深入理解Python3 内置函数大全
2017/11/23 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
骆驼官方商城:CAMEL
2016/11/22 全球购物
EJB的激活机制
2013/10/25 面试题
倡导文明标语
2014/06/16 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
法人授权委托书
2014/09/16 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
警示教育片观后感
2015/06/17 职场文书
保险公司增员口号
2015/12/25 职场文书
js 实现验证码输入框示例详解
2022/09/23 Javascript