일치하는 문자 목록
하나 이상의 개별 문자를 대괄호([ ])로 묶어 일치하는 문자 목록을 만들 수 있습니다. 문자를 대괄호로 묶었을 때 해당 목록을 대괄호 식이라고 합니다.
대괄호 식으로 묶인 문자는 정규식에서 해당 대괄호 식이 나타나는 위치에 대해 단일 문자만 찾습니다. 다음 JScript 정규식에서는 "Chapter 1", "Chapter 2", "Chapter 3", "Chapter 4" 및 "Chapter 5"를 찾습니다.
/Chapter [12345]/
대괄호 식은 Chapter라는 단어와 공백 바로 뒤에 오는 단일 문자 위치를 찾는 문자 집합만 지정하는데 사용됩니다. 그것이 바로 9번째 문자 위치입니다.
대괄호 식의 문자
대괄호 내에서 일반 문자는 다른 위치에 있을 때와 마찬가지로 해당 문자 자체를 나타냅니다. 즉, 검색 대상 텍스트에서 발견되는 해당 문자와 일치합니다. 대괄호 식 내에 사용된 대부분의 특수 문자는 원래 의미를 잃게 됩니다. 다음은 몇 가지 예외입니다.
닫는 대괄호 문자(])는 첫 항목이 아니면 목록을 끝냅니다. 목록에서 닫는 대괄호 문자(])를 찾으려면 여는 대괄호 문자([) 바로 다음에, 첫 번째 위치에 해당 문자를 둡니다.
백슬래시 문자(\)는 계속해서 이스케이프 문자가 됩니다. 백슬래시 문자를 찾으려면 두 개의 백슬래시(\\)를 사용합니다.
문자 범위에 하이픈 사용
문자 자체가 아닌 범위를 사용하여 일치하는 문자를 표현하려면 하이픈(-) 문자를 사용하여 범위의 시작 및 끝 문자를 구분합니다. 다음 정규식은 /Chapter [12345]/와 동일합니다.
/Chapter [1-5]/
시작 값과 끝 값은 모두 범위에 포함되어 있습니다. 유니코드 정렬 순서에 따라 시작 값이 끝 값보다 반드시 앞에 와야 합니다. 개별 문자의 문자 값은 범위 내에서 상대적인 순서를 결정합니다.
대괄호 식의 일반적인 용도는 대문자나 소문자 또는 숫자로 된 일치 항목을 지정하는 것입니다. 다음 식에서는 그러한 일치 항목을 지정합니다.
/[A-Za-z0-9]/
식에 하이픈 문자 포함
대괄호 식에 하이픈 문자를 포함하려면 다음 방법 중 하나를 따릅니다.
다음 식에 표시된 것과 같이 하이픈 문자 앞에 백슬래시 이스케이프 문자를 추가합니다.
[\-]
대괄호로 묶은 목록의 시작이나 끝 부분에 하이픈 문자를 넣습니다. 다음 식에서는 모든 소문자와 하이픈을 찾습니다.
[-a-z] [a-z-]
시작 문자 값이 하이픈 문자보다 작고 끝 문자 값이 하이픈보다 크거나 같은 범위를 만듭니다. 다음 정규식은 모두 이러한 요구 사항을 충족합니다.
[!--] [!-~]
부정에 캐럿 사용
목록의 시작 부분에 캐럿(^) 문자를 포함하여 목록이나 범위에 포함되지 않는 모든 문자를 찾을 수도 있습니다. 캐럿 문자가 목록 내에서 다른 위치에 나타나면 캐럿 문자 자체를 찾습니다. 즉, 캐럿이 특별한 의미를 갖지 않습니다. 다음 정규식은 1부터 5까지의 문자가 포함되지 않은 장(Chapter) 제목을 찾습니다.
/Chapter [^12345]/
이전 예제의 식은 9번째 위치에 1, 2, 3, 4, 5를 제외한 모든 문자가 있는 경우를 찾습니다. 따라서 예를 들어 "Chapter 7"과 "Chapter 9"는 조건에 일치합니다.
하이픈 문자(-)를 사용하여 동일한 식을 나타낼 수도 있습니다. 다음 식에서는 그러한 일치 항목을 지정합니다.
/Chapter [^1-5]/
모든 문자 일치
마침표(.)는 문자열에서 줄 바꿈 문자(\n)를 제외한 모든 단일 인쇄 문자나 인쇄되지 않는 문자를 찾습니다. JScript에서 정규식 /a.c/는 "aac", "abc", "acc", "adc", "a1c", "a2c", "a-c" 및 "a#c"를 찾습니다.
검색된 문자열에 포함된 마침표(.)를 찾으려면 정규식에서 마침표 앞에 백슬래시(\)를 추가합니다. 정규식 /filename\.ext/는 "filename.ext"를 찾습니다.