match.exec深入学习
注意:全局的情况下,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"]