注意:全局的情况下,match返回的是全部匹配的。exec返回的是他匹配的第一个,以及他的子匹配
1
首先match和exec的用法
/d/.exec("ddss3");
"ddss33".match(/d/)
//都得到["3"]
2
/d/g.exec("ddss33")
"ddss33".match(/d/g)
//["3"]
//["3", "3"]
结论:g全局下:exec在没有分组的情况下只返回第一个元素,match返回全部符合的
3
/(w)d/.exec("ddss33")
"ddss33".match(/(w)d/);
//非全局g下有分组返回的结果相同为["s3", "s"]
4
/(w)d/g.exec("ddss33dd3")
"ddss33dd3".match(/(w)d/g)
全局g下有分组返回的结果
["s3", "s"]
["s3", "d3"]