浅谈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实现QQ图片一闪一闪的效果小例子
Jul 31 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
Dec 18 Javascript
对于Form表单reset方法的新认识
Mar 05 Javascript
百度判断手机终端并自动跳转js代码及使用实例
Jun 11 Javascript
JS实现可调整倒计时间代码分享
Aug 18 Javascript
JS实现的最简Table选项卡效果
Oct 14 Javascript
教你如何终止JQUERY的$.AJAX请求
Feb 23 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
Apr 29 Javascript
jQuery 选择器(61种)整理总结
Sep 26 Javascript
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 Javascript
javascript实现循环广告条效果
Dec 12 Javascript
TypeScript 运行时类型检查补充工具
Sep 28 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
nicejforms——美化表单不用愁
2007/02/20 Javascript
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
js计算文本框输入的字符数
2015/10/23 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
python批量修改交换机密码的示例
2020/09/22 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
职工趣味运动会方案
2014/02/10 职场文书
《锄禾》教学反思
2014/04/08 职场文书
教师工作自我鉴定范文
2014/09/14 职场文书
新兵入伍决心书
2015/09/22 职场文书