Я использовал код ниже, чтобы получать каждые 5 строк из внешнего текстового файла. Он работает нормально при тестировании с https://regex101.com/, но при работе на Javascript консоль возвращает только 3 строки. Кто-нибудь знает, в чем проблема, пожалуйста
Это также работает, если данные включены внутри функция не работает, если загрузка из локального файла
reader = new FileReader();
if (filePath.files && filePath.files[0]) {
reader.onload = function(e) {
const regex = /(?:.*\s){1,5}/gm;
// This one works as expected
// const str = ` Line 1
// Line 2
// Line 3
// Line 4
// Line 5
// Line 1
// Line 2
// Line 3
// Line 4
// Line 5`;
//Loading from external file does not work
const str = e.target.result;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Данные тестирования:
Line 1
Line 2
Line 3
Line 4
Line 5
Line 1
Line 2
Line 3
Line 4
Line 5
Результат:
Found match, group 0: Line 1
Line 2
Line 3