정규 표현식(RegExp)과 일치하는 텍스트를 문자열에서 검색하려면 JavaScript의 exec() 메서드를 사용합니다. 이 메서드는 일치하는 항목을 찾으면 결과가 담긴 배열을 반환하고, 찾지 못하면 null을 반환합니다.
반환되는 배열에는 일치한 텍스트뿐만 아니라 인덱스(index)와 원본 입력 문자열(input) 같은 추가 정보도 포함됩니다. 또한 g(전역 검색) 플래그를 사용하면 lastIndex 속성이 갱신되어, exec()를 반복 호출할 때마다 다음 일치 항목을 순차적으로 찾을 수 있습니다.
매개변수
- string − 검색 대상이 되는 문자열입니다.
예제
다음 코드를 실행하면 exec() 메서드를 사용하여 RegExp와 일치하는 텍스트를 문자열에서 검색하는 과정을 직접 확인할 수 있습니다.
<html>
<head>
<title>JavaScript RegExp exec Method</title>
</head>
<body>
<script>
var str = "JavaScript is an interesting scripting language";
var re = new RegExp( "script", "g" );
var result = re.exec(str);
document.write("Test 1 - returned value : " + result);
re = new RegExp( "pushing", "g" );
var result = re.exec(str);
document.write("<br />Test 2 - returned value : " + result);
</script>
</body>
</html>
실행 결과
위 코드에서 첫 번째 테스트는 문자열에 존재하는 "script"를 찾아 해당 텍스트를 반환하지만, 두 번째 테스트에서 검색하는 "pushing"은 문자열에 없으므로 null이 반환됩니다.