Я продолжал получать бесконечные циклы, следуя совету выше, например:
var reg = /e(.*?)e/g;
var result;
while((result = reg.exec(targetText)) !== null) {
doSomethingWith(result);
}
Объект, который был присвоен result
каждый раз, был:
["", "", index: 50, input: "target text", groups: undefined]
Так что в моем случае я отредактировал приведенный выше код так:
const reg = /e(.*?)e/g;
let result = reg.exec(targetText);
while(result[0] !== "") {
doSomethingWith(result);
result = reg.exec(targetText);
}