天天看点

正则表达式分组模式

正则表达式分组模式

捕获组

在正则表达式中,使用“()”进行分组,一对圆括号括起来的表达式就是一个分组。

捕获组就是匹配到括号中的内容

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

继续阅读