Share via


lastIndex 속성

검색한 문자열에서 마지막으로 일치하는 부분이 시작하는 문자 위치를 반환합니다.

{RegExp | reArray}.lastIndex

인수

  • RegExp
    필수적 요소로서, 전역 RegExp 개체입니다.

  • reArray
    필수적 요소로서, Regular Expression 개체의 exec 메서드에서 반환하는 배열입니다.

설명

lastIndex 속성은 0에서 시작합니다. 즉, 첫째 문자의 인덱스는 0입니다. 초기값은 –1입니다. 이 값은 일치하는 부분을 찾을 때마다 수정됩니다.

RegExp 개체의 lastIndex 속성은 RegExp 개체의 exectest 메서드, 그리고 String 개체의 match, replacesplit 메서드에 의해 수정됩니다.

lastIndex 값에는 다음과 같은 규칙이 적용됩니다.

  • 일치하는 부분이 없으면 lastIndex는 -1로 설정됩니다.

  • lastIndex가 문자열 길이보다 크고 testexec가 수행되지 않으면 lastIndex는 -1로 설정됩니다.

  • lastIndex가 문자열 길이와 같은 경우, 패턴이 빈 문자열과 일치하면 정규식이 일치합니다. 그렇지 않으면 일치하는 부분이 없고 lastIndex는-1로 다시 설정됩니다.

  • 그 외의 경우 lastIndex는 가장 최근에 일치한 부분의 바로 다음 위치로 설정됩니다.

RegExp.lastIndex 속성의 초기 값은 –1입니다. 이 값은 읽기 전용이며 일치하는 내용을 찾을 때마다 변경됩니다.

참고

RegExp 개체의 속성은 JScript의 기본값인 고속 모드에서 실행되는 경우 사용할 수 없습니다. 이러한 속성을 사용하는 프로그램을 명령줄에서 컴파일하려면 /fast-를 사용하여 고속 옵션을 해제해야 합니다. 스레딩 문제로 인해 ASP.NET에서 고속 옵션을 해제하는 것은 안전하지 않습니다.

예제

다음 예제에서는 lastIndex 속성을 사용하는 방법을 보여 줍니다. 이 함수는 검색 문자열을 반복하여 적용하고 문자열의 각 단어에 indexlastIndex 값을 출력합니다.

var src : String = "The quick brown fox jumps over the lazy dog.";
var re : RegExp = /\w+/g;
var arr : Array;
while ((arr = re.exec(src)) != null)
{
    print(arr.index + "-" + arr.lastIndex + "\t" + arr[0]);
}

이 프로그램은 다음과 같이 출력됩니다.

0-3     The
4-9     quick
10-15   brown
16-19   fox
20-25   jumps
26-30   over
31-34   the
35-39   lazy
40-43   dog

요구 사항

버전 3

적용 대상

RegExp 개체

참고 항목

참조

exec 메서드

개념

정규식 구문