Круглые скобки (...) создают группу — объединяют часть шаблона в единое целое. У групп две задачи.
1. Применить квантификатор ко всей группе:
(ab)+ — «ab», «abab», «ababab» (\d{3}-)+ — повторяющиеся блоки «123-456-»
2. Захватить часть совпадения, чтобы вытащить или заменить её. Найденное группой можно использовать отдельно — например, при замене сослаться на неё ($1 — первая группа, $2 — вторая):
шаблон: (\d{4})-(\d{2}) замена: $2/$1 «2026-06» → «06/2026»
Вертикальная черта | означает «или» (альтернатива) — совпадает любой из вариантов:
cat|dog — «cat» или «dog» (cat|dog)s? — «cat», «cats», «dog», «dogs» ^(да|нет)$ — строка ровно «да» или «нет»
Группа здесь нужна, чтобы ограничить область действия |: без скобок ^да|нет$ значило бы «начало+да» ИЛИ «нет+конец», а не то, что мы хотели. Скобки группируют альтернативу правильно.