Поведение match в JavaScript

Рейтинг: 0Ответов: 1Опубликовано: 22.09.2014

Все привет. Снова немного о регулярных выражениях в JS. Я ожидаю, что код:

'aabb'.match(/a.*b/g);

Вернет мне массив:

['aab', 'aabb', 'ab', 'abb'];

Почему он возвращает массив только с одним элементом?

['aabb']

Разве str.match(RegExp); не должен возвращать массив всех совпадений по регулярному выражению?

Ответы

▲ 0Принят

@Алексей Данчин, проблема в том, что вы не понимаете значение используемого вами квантификатора.

.* - найти последовательность из любых символов, кроме переноса строки, максимальной длины в промежутке от нуля, до бесконечности.

Ключевое здесь последовательность максимальной длины. aabb - как раз подходит под это определение.