정규식 패턴을 이용해서 문자열을 검색하고, 검색 결과를 포함하는 배열변수를 반환한다.

Script[colVal=]RegularExpression.exec(testString)
인수/파라메터
regexp : (정규식)
필수적인 요소이며, 정규식 패턴과 적용 가능한 플래그를 포함하는 Regular Expression 개체이다.
testString : (검색 문자열)
필수적인 요소이며, 검색할 String 개체나 문자열 리터럴이다.
반환값

반환값 colVal은 찾은 일치하는 부분의 배열변수이다.

설명

exec 메서드가 일치하는 부분을 찾지 못하면 null을 반환한다.
exec 메서드가 일치하는 부분을 찾으면 배열변수를 반환하고, 검색 결과를 반영하도록 RegExp 개체가 업데이트된다.
배열변수의 0 요소는 일치하는 부분 전체를 포함하고 1 - N 요소는 각각의 일치하는 부분을 포함한다.
match 메서드를 전역 플래그(g) 설정 없이 수행하는 것과 같은 결과이다.

정규식에 전역 플래그(g)를 설정하면 execlastIndex 값으로 지정된 위치에서 시작하는 문자열을 검색한다.
전역 플래그(g)를 설정하지 않으면 execlastIndex 값을 무시하고 문자열의 시작부터 검색한다.

exec가 반환하는 배열변수는 input, indexlastIndex의 세가지 속성을 가진다.

  1. input 속성은 전체 검색 문자열을 포함한다.
  2. index 속성은 전체 검색 문자열 내에 일치하는 부분 문자열의 위치를 포함한다.
  3. lastIndex 속성은 일치하는 문자열의 마지막 문자 다음 위치를 포함한다.

특기

단순히 문자열 속에 같은 부분 문자열이 있는지 없는지를 검정하기 위해서는 test 메서드나 String.search 메서드를 사용하는 것이 좋다.

Explorer, Nescape의 차잇점

Nescape에서는 exec 메서드를 직접적(regObj.exec([string])) 혹은 간접적(regObj([string]))으로 호출할 수 있으나, Explorer에서는 직접적(regObj.exec([string]))으로만 호출 할 수 있다.

문자열이 선언되지 않았으면 RegExp.input이 사용된고, 만일 검색에서 찾지 못하면 exec 메서드가 null을 반환한다.

Explorer
일치 u
regexp=/[aeiou]/g;
stringVar='반환하는 배열변수는 input, index 및 lastIndex의 세가지 속성을 가진다.';
if(regexp.exec(stringVar)) document.write('일치 '+regexp.exec(stringVar));
Nescape
regexp=/[aeiou]/g;
stringVar='반환하는 배열변수는 input, index 및 lastIndex의 세가지 속성을 가진다.';
if(regexp(stringVar)) document.write('일치 '+RegExp.lastMatch);


method
exec 메서드
exec</b> 메서드이전페이지로페이지 맨위로페이지 맨아래로

exec 메서드로 단어를 분리하는 예제

string="이 부분에서 exec 메서드를 점검한다. This is an exec method test example."
word.index(0) word.lastIndex(undefined)=[]
word.index(2) word.lastIndex(undefined)=[부분에서]
word.index(7) word.lastIndex(undefined)=[exec]
word.index(12) word.lastIndex(undefined)=[메서드를]
word.index(18) word.lastIndex(undefined)=[점검한다.]
word.index(24) word.lastIndex(undefined)=[This]
word.index(29) word.lastIndex(undefined)=[is]
word.index(32) word.lastIndex(undefined)=[an]
word.index(35) word.lastIndex(undefined)=[exec]
word.index(40) word.lastIndex(undefined)=[method]
word.index(47) word.lastIndex(undefined)=[test]
word.index(52) word.lastIndex(undefined)=[example.]
<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>

method
exec 메서드
견본
이전페이지로페이지 맨위로
최종 수정:
06/23/2025 19:13:24
KoXo Homepage
All right reserved
비정상적인 방식으로 프레임없이 페이지에 접속하면 자주 오류가 발생됩니다.
오류가 나면 정상적 접속으로 시도해 보세요.
http://koxo.com/lang/js/method/exec.html