// 字符串的正則匹配,既可以使用 RegExp.exec() 方法,也可以使用 String.match() 方法 var str = "cat, bat, sat, fat"; var pattern = /.at/; var matches = str.match(pattern); console.log(matches); // 輸出 ["cat", index: 0, input: "cat, bat, sat, fat"] var pamatches = pattern.exec(str); console.log(pamatches); // 輸出 ["cat", index: 0, input: "cat, bat, sat, fat"] var patterng = /.at/g; var matchesg = str.match(patterng); console.log(matchesg); // 輸出 ["cat", "bat", "sat", "fat"] var pamatchesg = patterng.exec(str); console.log(pamatchesg); // 輸出 ["cat", index: 0, input: "cat, bat, sat, fat"] // 這是因為在 RegExp.exec() 方法中,即使設置了 g 標志,也只會返回一個匹配項的信息。但是,g 會導致每次調用 exec 方法時,不重置指針,會在字符串中查找新的匹配項,無 g 標志,則每次都會返回第一個匹配項信息。