德瑪西亞99
2019-03-11 13:14:45
'abcabc'.match(/(abc)(abc)/g)["abcabc"]'abcabc'.match(/(abc)(abc)/)["abcabc", "abc", "abc"]為什么這兩個(gè)會(huì)有完全不同的結(jié)果?這個(gè)全局g到底在分組里面代表了什么?
2 回答

人到中年有點(diǎn)甜
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
g就是全局匹配,但你的例子很難說明問題,我來改一下
先嘗試不用全局的
'abcgggabcfffabc'.match(/(abc)/)
結(jié)果是 ["abc","abc"]
,我來解釋一下結(jié)果,
數(shù)組的第一個(gè)
abc
,是正則第一個(gè)匹配到的結(jié)果,也就是abcgggabcfffabc,因?yàn)闆]有全局匹配,所以只匹配到第一個(gè)就結(jié)束了,那第二個(gè)是什么呢?因?yàn)?code>match方法的特性,當(dāng)沒有使用全局匹配時(shí),數(shù)組的后面將會(huì)追加
分組的內(nèi)容
,也就是()
內(nèi)的內(nèi)容,也就是你有多少個(gè)()
后面就會(huì)追加多少個(gè)數(shù)據(jù)元素;
當(dāng)使用全局時(shí)
'abcgggabcfffabc'.match(/(abc)/g)
結(jié)果是 ["abc", "abc", "abc"]
這個(gè)結(jié)果其實(shí)不用怎么解釋 abcgggabcfffabc
大概就是這樣子
添加回答
舉報(bào)
0/150
提交
取消