На самом деле, насколько я знаю, группа, не занимающаяся захватом, не имеет ничего общего с вашим непосредственным вопросом, и оба следующих шаблона будут соответствовать одним и тем же вещам:
/(?:foo){1,2}/
/(foo){1,2}/
Скобки сообщают механизму регулярных выражений, что вы хотите, чтобы правило количества {1,2}
применялось ко всему количеству. Без скобок количество по умолчанию применяется к непосредственно предшествующему символу o
:
/foo{1,2}/
Это будет соответствовать foo
и fooo
.