正则表达式分组模式
捕获组
在正则表达式中,使用“()”进行分组,一对圆括号括起来的表达式就是一个分组。
捕获组就是匹配到括号中的内容
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.youkuaiyun.com/fqq_5280/article/details/81261307
栗子

如上,match匹配到的第一个子串是&,第二个是mzoneToken=
如果去掉mzoneToken=的括号,match返回的第二个子串就是&
如下:

这也就是很好的解释了上面的例子

DONE
本文深入解析正则表达式的分组模式,包括捕获组与非捕获组的概念及应用实例,帮助读者理解如何在字符串中精确匹配并提取所需部分。
439

被折叠的 条评论
为什么被折叠?



