Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не выполняется цикл с регулярным выражением (https://javascript.ru/forum/misc/47465-ne-vypolnyaetsya-cikl-s-regulyarnym-vyrazheniem.html)

TorchTT 25.05.2014 14:01

Не выполняется цикл с регулярным выражением
 
В строке необходимо найти, при помощи RegExp, все совпадения с определенным набором символов.

При использовании кода:
var tempStr  = "gr4bf3gr";

var tempRegEx = /gr+/;

var tempArray = tempRegEx.exec(tempStr);

while(tempArray != null) {

    console.log(tempArray[0] + " " + tempRegEx.lastIndex);
    tempArray = tempRegEx.exec(tempStr);

}

Находится первое совпадение, выводится на консоль и затем цикл начинает бесконечно выполняться не выводя ничего на консоль. При debugging'е цикл переходит к методу вывода на консоль, но ничего не выводится и lastIndex всегда 0.

Подскажите, пожалуйста, как решить проблему?

Octane 25.05.2014 14:13

lastIndex нужно в цикле изменять, а то поиск сначала каждый раз начинается

рони 25.05.2014 14:17

Цитата:

Сообщение от TorchTT
var tempRegEx = /gr+/g;

:write:

TorchTT 25.05.2014 14:46

рони
Благодарю за ответ.

Работает)

Вопрос решен.

Тему можно закрывать.


Часовой пояс GMT +3, время: 06:20.