한정 기호

Flash Player 9 이상, Adobe AIR 1.0 이상

한정 기호를 사용하면 다음과 같이 패턴에서 문자 또는 시퀀스의 반복을 지정할 수 있습니다.

한정 기호 메타문자

설명

*(별표)

바로 앞의 항목이 0번 이상 반복된 것을 찾습니다.

+(더하기)

바로 앞의 항목이 1번 이상 반복된 것을 찾습니다.

?(물음표)

바로 앞의 항목이 0번 또는 1번 반복된 것을 찾습니다.

{n}

{n,}

{n,n}

앞의 항목에 대한 숫자 한정 기호 또는 한정 기호 범위를 지정합니다.

/A{27}/ 27번 반복된 A 문자를 찾습니다.

/A{3,}/ 3번 이상 반복된 A 문자를 찾습니다.

/A{3,5}/ 3~5번 반복된 A 문자를 찾습니다.

한정 기호를 단일 문자, 문자 클래스 또는 그룹에 적용할 수 있습니다.

  • /a+/ 1번 이상 반복된 a 문자를 찾습니다.

  • /\d+/ 하나 이상의 숫자를 찾습니다.

  • /[abc]+/a, b 또는 c 중에서 하나 이상의 문자가 반복되는 항목을 찾습니다.

  • /(very, )*/ very라는 단어와 쉼표, 공백이 차례로 0번 이상 반복되는 항목을 찾습니다.

한정 기호가 적용된 괄호 그룹 내에서 한정 기호를 사용할 수 있습니다. 예를 들어, 다음 한정 기호는 wordword-word-word와 같은 문자열을 찾습니다.

/\w+(-\w+)*/

기본적으로 일반 표현식은 최장 일치를 수행합니다. 즉, 일반 표현식의 하위 패턴(예: .*)은 문자열에서 가능한 한 많은 문자를 찾은 후 해당 일반 표현식의 다음 부분으로 이동합니다. 예를 들어, 다음 일반 표현식과 문자열을 검토해 보십시오.

var pattern:RegExp = /<p>.*<\/p>/; 
str:String = "<p>Paragraph 1</p> <p>Paragraph 2</p>";

이 일반 표현식은 전체 문자열을 찾습니다.

<p>Paragraph 1</p> <p>Paragraph 2</p>

하지만 <p>...</p> 그룹을 하나만 찾으려는 경우를 가정해 봅니다. 다음과 같이 하면 이렇게 할 수 있습니다.

<p>Paragraph 1</p>

한정 기호를 최단 일치 한정 기호로 바꾸려면 해당 한정 기호 뒤에 물음표(?)를 추가합니다. 예를 들어, 최단 일치 한정 기호 *?를 사용하는 다음 일반 표현식은 <p>, 최소 문자 수(최단 일치), </p>가 차례로 나오는 항목을 찾습니다.

/<p>.*?<\/p>/

한정 기호를 사용할 경우에는 다음과 같은 내용을 항상 기억해야 합니다.

  • {0}{0,0} 한정 기호는 일치시킬 때 항목을 제외하지 않습니다.

  • /abc+*/와 같이 여러 한정 기호를 함께 사용하지 마십시오.

  • 도트 (.)는 * 한정 기호가 뒤에 나오더라도 s(dotall) 플래그가 설정되어 있지 않으면 행을 확장하지 않습니다. 예를 들어, 다음과 같은 코드를 살펴봅니다.

    var str:String = "<p>Test\n"; 
    str += "Multiline</p>"; 
    var re:RegExp = /<p>.*<\/p>/; 
    trace(str.match(re)); // null; 
     
    re = /<p>.*<\/p>/s; 
    trace(str.match(re)); 
        // output: <p>Test 
        //                    Multiline</p>

자세한 내용은 플래그 및 속성을 참조하십시오.