之前没有理解到regexp所匹配的结果。
var text = "mom and dad and baby";
var pattern = /mom (and dad (and baby)?)?/ig;
var matches = pattern.exec(text);
console.log(matches);
返回的数组是一个Array实例,包含两个额外属性:index(表示匹配项在字符串的位置)和input(表示应用正则表达式的字符串);
数组中的第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串(如果模式中没有捕获组,则该数组只包含一项)。