"mon and dad".match(/(mon( and dad)?)/)求解释输出的结构
2 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
匹配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]
鸿蒙传说
TA贡献1865条经验 获得超7个赞
匹配
mon或者mon and dad,加上问号表示匹配尽量短的。
你的原文是mon and dad,所以匹配到了mon就返回,而不是匹配mon and dad
没有问号是贪婪模式,则匹配mon and dad
添加回答
举报
0/150
提交
取消