Код: Выделить всё
const pattern = /^(bg|portrait|poster)(|\_(\d+))\.(webp|webm|jpg|jpeg|png|bmp|mp4)$/gi;
let m1 = pattern.exec("poster_1.jpg");
console.log(m1);
let m2 = pattern.exec("poster_1.jpg")
console.log(m2);
Код: Выделить всё
Array(5) [ "poster_1.jpg", "poster", "_1", "1", "jpg" ]
Array(5) [ "poster_1.jpg", "poster", "_1", "1", "jpg" ]
Код: Выделить всё
Array(5) [ "poster_1.jpg", "poster", "_1", "1", "jpg" ]
null
Код: Выделить всё
let m1 = /^(bg|portrait|poster)(|\_(\d+))\.(webp|webm|jpg|jpeg|png|bmp|mp4)$/gi.exec("poster_1.jpg");
console.log(m1);
let m2 = /^(bg|portrait|poster)(|\_(\d+))\.(webp|webm|jpg|jpeg|png|bmp|mp4)$/gi.exec("poster_1.jpg")
console.log(m2);
Код: Выделить всё
Array(5) [ "poster_1.jpg", "poster", "_1", "1", "jpg" ]
Array(5) [ "poster_1.jpg", "poster", "_1", "1", "jpg" ]
Я хотел бы знать, почему возникают эти различия.
Проверенная среда выполнения
- Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0
- Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0
- Nodejs v22.14.0
Подробнее здесь: https://stackoverflow.com/questions/798 ... as-expecte