두 글자 사이 하이픈은 범위
[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]). 다른 위치는 범위 형성. 대부분 스타일 가이드는 명확성을 위해 첫/끝.