정규식 패턴을 이용해서 문자열을 검색하고, 검색 결과를 포함하는 배열변수를 반환한다.
![]() | Script | [colVal=]RegularExpression.exec(testString) |
반환값 colVal은 찾은 일치하는 부분의 배열변수이다.
exec 메서드가 일치하는 부분을 찾지 못하면 null을 반환한다.
exec 메서드가 일치하는 부분을 찾으면 배열변수를 반환하고, 검색 결과를 반영하도록 RegExp 개체가 업데이트된다.
배열변수의 0 요소는 일치하는 부분 전체를 포함하고 1 - N 요소는 각각의 일치하는 부분을 포함한다.
match 메서드를 전역 플래그(g) 설정 없이 수행하는 것과 같은 결과이다.
정규식에 전역 플래그(g)를 설정하면 exec는 lastIndex 값으로 지정된 위치에서 시작하는 문자열을 검색한다.
전역 플래그(g)를 설정하지 않으면 exec는 lastIndex 값을 무시하고 문자열의 시작부터 검색한다.
exec가 반환하는 배열변수는 input, index 및 lastIndex의 세가지 속성을 가진다.
단순히 문자열 속에 같은 부분 문자열이 있는지 없는지를 검정하기 위해서는 test 메서드나 String.search 메서드를 사용하는 것이 좋다.
Nescape에서는 exec 메서드를 직접적(regObj.exec([string])) 혹은 간접적(regObj([string]))으로 호출할 수 있으나, Explorer에서는 직접적(regObj.exec([string]))으로만 호출 할 수 있다.
문자열이 선언되지 않았으면 RegExp.input이 사용된고, 만일 검색에서 찾지 못하면 exec 메서드가 null을 반환한다.
regexp=/[aeiou]/g; stringVar='반환하는 배열변수는 input, index 및 lastIndex의 세가지 속성을 가진다.'; if(regexp.exec(stringVar)) document.write('일치 '+regexp.exec(stringVar));
regexp=/[aeiou]/g; stringVar='반환하는 배열변수는 input, index 및 lastIndex의 세가지 속성을 가진다.'; if(regexp(stringVar)) document.write('일치 '+RegExp.lastMatch);
버전 | JScript 버전 3 | Javascript 버전 1.2 |
적용 | RegularExpression 개체 |
참조 | search 메서드 | match 메서드 | replace 메서드 | exec 메서드 | test 메서드 | compile 메서드 |
RegularExpression 개체 메서드 | RegularExpression 개체 속성 | RegExp 개체 메서드 | 정규식 구문 |
![]() | exec 메서드⇒ | ![]() | ![]() ![]() ![]() |
<SCRIPT> var br='<BR>'; // 줄바꿈 var str=''; // 출력 문자열 변수 선언 var string='이 부분에서 exec 메서드를 점검한다. This is an exec method test example.'; // 검색 문자열 변수 선언과 할당 str+='string="'+string+'"'+br; // 검색 문자열 출력 var regexp=/\S+/g; // 정규식 패턴 설정, /\w+/g는 영문 단어 점검 while ((word=regexp.exec(string))!=null){ // 수행 조건 설정과 조건에 맞는 범위에서 반복수행 루프 str+='word.index('+word.index+') word.lastIndex('+word.lastIndex+')=[<FONT color=blue>'+word+'</FONT>]'+br; // 반복수행 루프 여기까지, 결과 문자열 출력 } // while 루프 종료 document.write(str); // 결과 문자열 출력 </SCRIPT>
![]() | exec 메서드 | ⇒ | ![]() ![]() |
최종 수정: 06/23/2025 19:13:24 | ![]() All right reserved | 비정상적인 방식으로 프레임없이 페이지에 접속하면 자주 오류가 발생됩니다. 오류가 나면 정상적 접속으로 시도해 보세요. | http://koxo.com/lang/js/method/exec.html |