Global или sticky может совпасть с пустой строкой без изменения lastIndex. Сборщик должен продвинуться сам.
Продвиньтесь на одну позицию
RegexLab продвигается на единицу UTF-16 обычно и на кодовую точку при u или v.
Предел совпадений всё равно нужен
Даже конечный шаблон может совпасть в каждой позиции. RegexLab возвращает до 1 000 и отмечает обрезку.