Мне нужно некоторое уточнение для соответствия Vs exec в JavaScript; здесь кто-то говорит, что
"exec с глобальным регулярным выражением предназначен для использования в цикле", но прежде всего, как вы видите в моем примере, это не так; в моем примере exec с глобальным регулярным выражением возвращает все совпадения в массиве! Во-вторых, они говорят, что для String.match он возвращает все совпадения без необходимости прокрутки! Но опять же, что не происходит в моем примере, и он просто возвращает строку ввода? Я неправильно понял/сделал что-то не так?
var myString = "[22].[44].[33].";
var myRegexp = /.*\[(\d*)*\].*\[(\d*)*\].*\[(\d*)*\].*/g;
var execResult = myRegexp.exec(myString);
console.log(execResult.length);
console.log(execResult[1]);// returns 22 and execResult has all of my matches from index 1 to the length of array
var matchResult = myString.match(myRegexp);
console.log(matchResult.length);
console.log(matchResult);// returns just myString which is "[22].[44].[33]."! Why is that?