js正则表达式中的g到底是什么意思

JavaScript078

js正则表达式中的g到底是什么意思,第1张

g是global的缩写啊!

就是匹配全部可匹配结果,

如果你不带g,在正则过程中,字符串是从左至右匹配的,如果匹配成功就不再继续向右匹配了,如果你带g,它会重头到尾的把正确匹配的字符串挑选出来

例如:

var str = 'aaaaaaaa'

var reg1 = /a/

var reg2 = /a/g

str.match(reg1)// 结果为:["a", index: 0, input: "aaaaaaaa"]

str.match(reg2)// 结果为:["a", "a", "a", "a", "a", "a", "a", "a"]

你所说的 “第二个结果”,并不是真的第二个,而是因为你的正则表达式中有括号。在使用 match 时,会将每个括号匹配到的也一起返回。

例如:

'thisabcd'.match(/a(.)(.)/)

会返回 ['abc', 'b', 'c']

以上,请采纳,请给分。