C.W.K.
Stream
Lesson 04 of 12 · published

범위 [a-z] [A-Z] [0-9] — 하이픈 트릭

~6 min · ranges, ascii

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

두 글자 사이 하이픈은 범위

[a-z][abcdefghijklmnopqrstuvwxyz] 와 같지만 긴 형태로 안 써. 두 글자 사이 하이픈은 기반 글자 코드 (ASCII / Unicode codepoint) 기준 범위 정의.

끊임없이 쓸 빅 쓰리:

  • [0-9] — 숫자 (ASCII)
  • [a-z] — 소문자 ASCII 문자
  • [A-Z] — 대문자 ASCII 문자

조합: [a-zA-Z0-9] 는 영숫자. [a-fA-F0-9] 는 hex. [가-힣] 는 한글 음절 블록 전체.

범위로 영리하게 굴지 마

범위는 codepoint 순서대로 작동. [A-z] 는 "모든 문자" 처럼 보이지만 실제로는 Z (90) 와 a (97) 사이 구두점 포함: [ \ ] ^ _ `. 이건 진짜 버그 종류. 항상 양쪽 다 써: [A-Za-z].

첫/끝/escape 한 하이픈은 리터럴

클래스 안 리터럴 하이픈 매칭하려면 첫 ([-a-z]), 끝 ([a-z-]), 또는 escape ([a\-z]). 다른 위치는 범위 형성. 대부분 스타일 가이드는 명확성을 위해 첫/끝.

Code

범위 실전·python
import re

# 4 자리 연도
re.findall(r'[0-9]{4}', 'born 1989, today 2026')
# ['1989', '2026']

# Hex 색
re.findall(r'#[0-9a-fA-F]{6}', 'theme #FF8FBE on #000000')
# ['#FF8FBE', '#000000']

# 한글 음절 블록
re.findall(r'[가-힣]+', '안녕 hello 세상')
# ['안녕', '세상']

# 버그: [A-z] 는 ASCII 구두점 포함
re.findall(r'[A-z]', 'A_z`')
# ['A', '_', 'z', '`']  — '_' 와 '`' 가 의외

External links

Exercise

미국 번호판 (대문자 + 숫자만) 의 어떤 글자든 매칭하는 가장 작은 character class 작성. 그 다음 한국 번호판 (숫자 + 한글) 용. 패턴 비교 — 어느 쪽이 Unicode 지원 필요고 어느 쪽이 순수 ASCII?

Progress

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

댓글 0

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

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