본문 바로가기
C.W.K.
Stream
Lesson 04 of 12 · published

정확한 카운트: {n}

~5 min · quantifier, exact

Level 0패턴 호기심
0 XP0/90 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

정확히 n번 반복하기

{n}은 바로 앞 요소를 정확히 n번 반복하라는 뜻이야. 더 많이도, 더 적게도 허용하지 않아.

\d{4}는 숫자 네 개, a{3}a 세 개, (ab){5}ab를 다섯 번 반복한 문자열과 매칭해.

어디에 잘 맞을까

고정 길이 형식에 특히 유용해. 네 자리 연도, 16자리 카드 번호, 여섯 자리 16진 색상, 다섯 자리 우편번호처럼 명세가 길이를 정확히 정한 곳에서 {n}이 그 조건을 그대로 표현해.

경계도 함께 확인하기

\d{4}만 쓰면 더 긴 숫자열 안에서도 네 자리씩 잘라 매칭해. 그래서 re.findall(r'\d{4}', '20260504')['2026', '0504']를 반환해. 네 자리 숫자가 홀로 있을 때만 찾으려면 \b\d{4}\b처럼 단어 경계를 붙이거나 ^...$로 입력 전체를 고정해.

Code

고정 길이용 {n}·python
import re

# 정확히 4 숫자
re.findall(r'\d{4}', 'year 2026 zip 90210 long 12345678')
# ['2026', '9021', '1234', '5678']  — 긴 거에서 의외

# 단어 경계로 앵커 — 4자리 단독 숫자만
re.findall(r'\b\d{4}\b', 'year 2026 zip 90210 long 12345678')
# ['2026']

# Hex 색 (# 뒤 6 hex 자리)
re.findall(r'#[0-9a-fA-F]{6}\b', 'use #FF8FBE or #abcdef as the brand')
# ['#FF8FBE', '#abcdef']

# 그룹 정확 반복
re.findall(r'(ab){3}', 'ababab abababab ababXX')
# ['ab', 'ab']  — 마지막 반복 캡처; 트랙 4 에서 고침

External links

Exercise

숫자 다섯 자리인 미국 ZIP 코드만 매칭하고 ZIP+4 형식은 거부하는 가장 작은 패턴을 작성해. 그런 다음 두 형식을 모두 허용하는 두 번째 패턴을 만들고 90210, 90210-1234, 9021012345에 각각 시험해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.