Rzecz ma się odnośnie kwantyfikatora chciwego vs niechętnego. Sama ich definicja jest w prosta, pokazuję na przykładzie:
var str = 'abbbaabbbaaabbb1234'; var re1 = /.?bbb/g; console.log(str.match(re1));
Co do tego przykładu żadnego "ale" nie mam, działa tak jak oczekiwałem, tzn w tablicy są 3 wartości takie jak powinny być, ale:
var str = 'abbbaabbbaaabbb1234'; var re2 = /.*bbb/g; console.log(str.match(re2));
W tym przykładzie kwantyfikator chciwy zaczyna od całego ciągu, odejmując po kolei 1,2,3,4 natrafia w końcu na dopasowanie i ładuje w tablicę, ale na tym sprawa się kończy, przecież odejmując kolejne znaki nie powinien "złapać" jeszcze "abbbaabbb" oraz "abbb"? Wygląda na to że dopasując pierwszy fragment kończy działanie?