匹配mon或者mon and dad匹配出来的数组有3个项,第一项是整个匹配的字符串mon或者mon and dad,第二项是第一个分组(mon( and dad)?)==》mon或者mon and dad,第三项是( and dad)?这个分组,如果没有and dad就是undefined第一个项和第二个一样的,因为分组1就是整个匹配console.log("mon and dad".match(/(mon( and dad)?)/))
==》
["mon and dad", "mon and dad", " and dad"]
console.log("mon and x dad".match(/(mon( and dad)?)/))
===>
["mon", "mon", undefined]