正規表達式分組模式
捕獲組
在正規表達式中,使用“()”進行分組,一對圓括号括起來的表達式就是一個分組。
捕獲組就是比對到括号中的内容
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