其中一个jQuery核心风格指南指出:
所有RegExp操作都应该使用.test()和.exec()来完成。 “string”.match()不再使用。
为什么match()
不受青睐?
答案 0 :(得分:3)
因为.exec
只是.match
让我们看看
var ret1 = string.match(regexp);
var ret2 = regexp.exec(string);
如果regexp是非全局正则表达式,那么返回值是相同的。
但是,如果regexp是一个全局正则表达式(/foo/g
),那么match只返回一个匹配数组,就是这样。没有像exec这样的额外元数据会返回!