正则表达式分组模式

正则表达式分组模式

捕获组

在正则表达式中,使用“()”进行分组,一对圆括号括起来的表达式就是一个分组。
捕获组就是匹配到括号中的内容
var reg = /(\?|&)name=[^&]*(&|$)/;
像这样一个正则表表达式,捕获组中的内容就是括号匹配到的
var _cuttent_url = www.baidu.com?name=4567&b=3456; _cuttent_url.replace(/(\?|&)name=[^&]*(&|$)/, function ($0, $1, $2) { return $1 === '?' ? '?' : $2 })
匹配到的$1就是?
匹配到的$2就是&

非捕获组

如上正则表表达式,非捕获组中的内容就是括号以外匹配到的
参考链接:https://blog.csdn.net/fqq_5280/article/details/81261307

栗子

正则表达式分组模式
如上,match匹配到的第一个子串是&,第二个是mzoneToken=
如果去掉mzoneToken=的括号,match返回的第二个子串就是&
如下:
正则表达式分组模式

这也就是很好的解释了上面的例子
正则表达式分组模式

DONE