Alternation 이 가장 낮은 우선순위
| 연산자는 정규식의 어떤 것보다도 LOOSER 바인딩. 파이프 앞뒤 거가 가능한 만큼 확장 — 보통 가장 가까운 둘러싼 괄호 (또는 전체 패턴 시작/끝) 까지.
그래서 abc|xyz 는 'abc' 또는 'xyz' 의미 — 'abc 뒤 nothing 또는 xyz' 아님.
그리고 a(bc|xy)z 는 'a, 그 다음 bc 또는 xy, 그 다음 z' 의미. 괄호가 alternation 담음.
멀티 분기 alternation
대안 체인 가능: red|green|blue|yellow 가 네 색 중 어느 거든 매칭. 특수 문법 없음 — 그냥 파이프 계속 추가.
5-6개 이상 대안엔 character class 가 동작할지, 또는 대안들이 단일 패턴으로 표현될 공통 모양 가졌는지 고민.
빈 대안
한쪽에 nothing 있는 파이프 — foo| 또는 |foo — 빈 문자열 또는 foo 매칭. Wrap 시 foo? 와 등가: (foo|) 가 (foo)? 와 같음. 일부 엔진은 받음, 일부는 안. 의존하지 마.