두 문자 사이의 하이픈은 범위를 뜻해
[a-z]는 소문자 a부터 z까지 한 글자를 허용해. 엔진은 이 범위를 ASCII나 Unicode 코드 포인트의 순서에 따라 해석해.
자주 쓰는 기본 범위는 세 가지야.
[0-9]는 ASCII 숫자 하나를 찾고[a-z]는 ASCII 소문자 하나를 찾고[A-Z]는 ASCII 대문자 하나를 찾아.
범위는 이어 붙일 수도 있어. [a-zA-Z0-9]는 영문자나 숫자 하나, [a-fA-F0-9]는 16진수에 쓰이는 문자 하나를 허용해. [가-힣]는 완성형 한글 음절 블록을 가리켜.
[A-z]처럼 지름길을 만들지는 마
대문자 Z와 소문자 a 사이에는 [, \, ], ^, _, ` 같은 기호도 있어. 그래서 영문자를 찾을 때는 [A-z]가 아니라 [A-Za-z]처럼 두 범위를 분명히 적어야 해.
하이픈 자체를 찾는 위치도 정해져 있어
문자 클래스에서 하이픈을 문자 그대로 쓰려면 [-a-z]처럼 맨 앞에 두거나 [a-z-]처럼 맨 뒤에 둬. [a\-z]처럼 이스케이프하는 방법도 있지만, 첫 위치나 끝에 두면 범위와 헷갈릴 여지가 더 적어.