lastIndex 속성
검색한 문자열에서 마지막으로 일치하는 부분이 시작하는 문자 위치를 반환합니다.
{RegExp | reArray}.lastIndex
인수
RegExp
필수적 요소로서, 전역 RegExp 개체입니다.reArray
필수적 요소로서, Regular Expression 개체의 exec 메서드에서 반환하는 배열입니다.
설명
lastIndex 속성은 0에서 시작합니다. 즉, 첫째 문자의 인덱스는 0입니다. 초기값은 –1입니다. 이 값은 일치하는 부분을 찾을 때마다 수정됩니다.
RegExp 개체의 lastIndex 속성은 RegExp 개체의 exec 및 test 메서드, 그리고 String 개체의 match, replace 및 split 메서드에 의해 수정됩니다.
lastIndex 값에는 다음과 같은 규칙이 적용됩니다.
일치하는 부분이 없으면 lastIndex는 -1로 설정됩니다.
lastIndex가 문자열 길이보다 크고 test와 exec가 수행되지 않으면 lastIndex는 -1로 설정됩니다.
lastIndex가 문자열 길이와 같은 경우, 패턴이 빈 문자열과 일치하면 정규식이 일치합니다. 그렇지 않으면 일치하는 부분이 없고 lastIndex는-1로 다시 설정됩니다.
그 외의 경우 lastIndex는 가장 최근에 일치한 부분의 바로 다음 위치로 설정됩니다.
RegExp.lastIndex 속성의 초기 값은 –1입니다. 이 값은 읽기 전용이며 일치하는 내용을 찾을 때마다 변경됩니다.
참고
RegExp 개체의 속성은 JScript의 기본값인 고속 모드에서 실행되는 경우 사용할 수 없습니다. 이러한 속성을 사용하는 프로그램을 명령줄에서 컴파일하려면 /fast-를 사용하여 고속 옵션을 해제해야 합니다. 스레딩 문제로 인해 ASP.NET에서 고속 옵션을 해제하는 것은 안전하지 않습니다.
예제
다음 예제에서는 lastIndex 속성을 사용하는 방법을 보여 줍니다. 이 함수는 검색 문자열을 반복하여 적용하고 문자열의 각 단어에 index와 lastIndex 값을 출력합니다.
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