문자 일치

업데이트: 2007년 11월

마침표(.)는 단일 인쇄 문자나 인쇄되지 않는 문자를 제외한 모두를 문자열에서 찾습니다. 예외는 줄 바꿈 문자(\n)입니다. 다음 정규식은 a1c, a2c, a-c, a#c를 비롯하여 aac, abc, acc, adc 등을 찾습니다.

/a.c/

마침표(.)가 입력 문자열의 일부인 파일 이름이 포함된 문자열을 찾으려면 정규식의 마침표 앞에 백슬래시(\)를 표시합니다. 예를 들어, 다음 정규식에서는 filename.ext를 찾습니다.

/filename\.ext/

이러한 식을 사용하면 단일 문자만 찾을 수 있습니다. 하지만 목록에서 특정 문자들을 찾아야 할 경우도 있습니다. 예를 들어, 숫자로 표시된 장 제목(Chapter 1, Chapter 2 등)을 찾아야 할 수도 있습니다.

대괄호로 묶은 식

일치하는 문자 목록을 만들려면 하나 이상의 개별 문자를 대괄호([ ]) 안에 넣습니다. 문자를 대괄호로 묶으면 해당 목록을 대괄호로 묶은 식이라고 합니다. 어디서든 대괄호 안에서 일반 문자는 그 자체를 나타내므로 입력 텍스트 안에서 문자 자체를 찾습니다. 대괄호로 묶은 식 내에 사용된 대부분의 특수 문자는 원래 의미를 잃게 됩니다. 다음과 같은 몇 가지 예외가 있습니다.

  • ] 문자는 첫 항목이 아니면 목록을 끝냅니다. 목록에서 ] 문자를 찾으려면 여는 [ 바로 다음에, 첫 번째 위치에 해당 문자를 둡니다.

  • \ 문자는 계속 이스케이프 문자로 사용됩니다. \ 문자를 찾으려면 \\을 사용합니다.

대괄호로 묶은 식으로 묶인 문자는 정규식의 위치에 대해 단일 문자만 찾습니다. 다음 정규식에서는 Chapter 1, Chapter 2, Chapter 3, Chapter 4 및 Chapter 5를 찾습니다.

/Chapter [12345]/

Chapter 문자와 그 뒤에 공백은 대괄호 내의 문자와 상대적인 위치에 고정되어 있습니다. 대괄호로 묶은 식은 Chapter 단어와 공백 바로 뒤에 오는 단일 문자 위치를 찾는 문자 집합만 지정하는데 사용됩니다. 그것이 바로 9번째 문자 위치입니다.

문자 자체가 아닌 범위를 사용하여 일치하는 문자를 표현하려면 하이픈(-) 문자를 사용하여 범위의 시작과 끝 문자를 구분합니다. 개별 문자의 문자 값은 범위 내에서 상대적인 순서를 결정합니다. 다음 정규식에는 위에서 나왔던 대괄호로 묶은 목록에 해당하는 범위 식이 포함되어 있습니다.

/Chapter [1-5]/

이런 식으로 범위를 지정하면 시작 값과 끝 값이 모두 범위에 포함됩니다. 유니코드 정렬 순서에 따라 시작 값이 끝 값보다 반드시 앞에 와야 합니다.

대괄호로 묶은 식에서 하이픈 문자를 포함하려면 다음 중 하나를 수행합니다.

  • 백슬래시를 사용하여 하이픈 문자를 이스케이프합니다.

    [\-]
    
  • 대괄호로 묶은 목록의 시작이나 끝 부분에 하이픈 문자를 넣습니다. 다음 식에서는 모든 소문자와 하이픈을 찾습니다.

    [-a-z]
    [a-z-]
    
  • 시작 문자 값이 하이픈 문자보다 작고 끝 문자 값이 하이픈보다 크거나 같은 범위를 만듭니다. 다음 정규식은 모두 이러한 요구 사항을 충족시킵니다.

    [!--]
    [!-~]
    

목록이나 범위에 없는 문자를 모두 찾으려면 목록의 시작 부분에 캐럿(^) 문자를 둡니다. 캐럿 문자가 목록 내에서 다른 위치에 나타나면 캐럿 문자 자체를 찾습니다. 다음 정규식에서는 5보다 큰 장 제목을 찾습니다.

/Chapter [^12345]/

위의 예제에서 해당 식은 9번째 위치에서 1, 2, 3, 4, 5를 제외한 모든 숫자를 찾습니다. 따라서 Chapter 7이나 Chapter 9는 일치 항목이 됩니다.

위의 식을 하이픈 문자(-)를 사용하여 나타낼 수도 있습니다.

/Chapter [^1-5]/

대괄호로 묶은 식의 일반적인 사용은 대문자나 소문자 또는 숫자로 된 일치 항목을 지정하는 것입니다. 다음 식에서는 그러한 일치 항목을 지정합니다.

/[A-Za-z0-9]/

참고 항목

기타 리소스

정규식 소개