Quantifier 가 그룹 전체에 적용
이전 강에서 봤어. (ab)+ 는 'ab' 한 번 이상 반복 매칭. (\d{3})? 는 optional 3자리 그룹. 그룹은 quantifier 가 여러 글자 scope 잡게 하는 방법.
캡처 놀람
함정: 캡처 그룹에 quantifier 있으면 캡처된 값은 마지막 반복만. 전체 반복 매칭 아님 — 마지막 라운드만.
패턴 (ab)+ 입력 ababab: 전체 매칭은 ababab 지만 group 1 캡처 값은 ab (마지막 반복만). 전체 반복 캡처하려면 반복 전체 wrap: ((ab)+) — 외부 group 1 이 ababab 캡처, 내부 group 2 가 마지막 ab 캡처.
그룹화만 필요면 non-capturing
그룹 값 캡처 필요 없으면 non-capturing 그룹 (?:...) 사용. Quantifier 위해 그룹화하지만 캡처 슬롯 할당 안 함. 트랙 4 에서 자세히.
지금은 패턴 (?:ab)+ 가 'ab' 반복하면서 캡처 시도 안 함 — 더 깨끗하고 약간 빠름.