скажем, мы имеем следующий текст: "1 a, 2 b, 3 c, 4 d" и следующее выражение:/\ d (\ w)/g
то, что мы хотим сделать, - извлечь a, b, c, d, как это обозначено регулярным выражением.
К сожалению, "1 a, 2 b, 3 c, 4 d".match(/\ d (\ w)/g) создаст массив: 1 a, 2 b, 3 c, 4 d и RegExp. будет содержать только группы из последнего совпадения, то есть RegExp. $1 == 'd'.
как я могу перебирать это регулярное выражение, чтобы я мог также извлекать группы... Я ищу решение, которое также эффективно с точки зрения памяти, т.е. какой-то объект итератора
EDIT: Он должен быть общим. Я просто представляю простой пример. Одним из решений является цикл над массивом и повторное применение регулярного выражения для каждого элемента без глобального флага, но я считаю это решение немного глупым, хотя кажется, что это единственный способ сделать это.