猿问

JS正则表达式中使用‘|’,对返回结果的顺序有疑问

对JS中正则表达式中“|”的使用存在疑惑,见下面代码:


let str = "your cat's belly is fat";

let reg = /(fat|belly|is)/g;

console.log(str.match(reg));  // ["belly", "is", "fat"]

返回的结果为何不是["fat", "belly", "is"]?

请懂正则引擎的大神们指教!


繁华开满天机
浏览 553回答 3
3回答

湖上湖

因为str中的顺序是belly is fat啊正则是去匹配原字符串啊,顺序当然是原字符串的顺序。

ITMISS

正则是在目标字符串,从左到右匹配的
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答