浅谈JavaScript正则表达式分组匹配
语法
元字符:(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"
这样就可以很明白的看出分组的嵌套关系了
总结来说:大的分组中存在小的分组时,小的分组是排在该大分组后面的分组,以此类推
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关文章
ES6 Promise基础用法(resolve、reject、then、catch,a
Promise是JavaScript中处理异步操作的对象,它有三种状态:Pending、Fulfilled、Rejected,使用new Promise创建Promise对象,通过resolve和reject改变状态,then和catch方法用于处理成功和失败的结果,本文介绍ES6 Promise用法,感兴趣的朋友一起看看吧2024-09-09个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
这篇文章主要介绍了个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节,本文讲解了变量转换、取整同时转换成数值型、日期转数值、类数组对象转数组、进制之间的转换等方法技巧,需要的朋友可以参考下2015-06-06微信小程序中使用Async-await方法异步请求变为同步请求方法
这篇文章主要介绍了微信小程序中使用Async-await方法异步请求变为同步请求方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-03-03一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
一步一步封装自己的HtmlHelper组件:BootstrapHelper,系列文章第二篇,感兴趣的小伙伴们可以参考一下2016-09-09
最新评论