Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript exec() 정규식 메서드 사용법 완벽 가이드

exec() 메서드란?

exec() 메서드는 자바스크립트의 정규 표현식(regex) 메서드 중 하나로, 문자열 안에서 지정된 패턴을 검색하는 역할을 합니다. test() 메서드와 달리, exec()는 찾아낸 텍스트를 객체(object) 형태로 반환한다는 점이 특징입니다. 만약 일치하는 패턴이 없다면 null을 반환합니다. 반환되는 객체에는 매칭된 텍스트(obj[0])와 매칭 위치(index) 같은 유용한 정보가 담겨 있어, 단순히 패턴의 존재 여부만 알려주는 test()보다 더 많은 정보를 활용할 수 있습니다. 아래 예제를 통해 자세히 살펴보겠습니다.

예제 1

다음 예제에서는 "est"라는 패턴을 exec() 메서드로 검색합니다. exec() 메서드는 주어진 텍스트 전체에서 해당 패턴을 꼼꼼히 살펴본 후, 그 결과를 객체로 반환합니다.

<html>
<body>
<script>
   var obj = /est/.exec("Tutorix is the best e-learning platform");
   document.write(
   "The object is " + obj[0] + " and its position is " + obj.index);
</script>
</body>
</html>

실행 결과

The object is est and its position is 16

위 실행 결과에서 볼 수 있듯이, "est"라는 패턴은 문자열 내 16번째 위치에서 발견되었으며, 매칭된 텍스트와 위치 정보가 객체에 담겨 출력됩니다.

예제 2

이번에는 "x"라는 패턴을 exec() 메서드로 검색해 보겠습니다. 마찬가지로 exec() 메서드는 텍스트 전체에서 해당 패턴을 조사한 뒤, 그 결과를 객체로 반환합니다.

<html>
<body>
<script>
   var obj = /x/.exec("Tutorix is the best e-learning platform");
   document.write(
   "The object is " + obj[0] + " and its position is " + obj.index);
</script>
</body>
</html>

실행 결과

The object is x and its position is 6

"x" 패턴은 6번째 위치에서 발견되었습니다. 이처럼 exec() 메서드는 매칭 결과뿐만 아니라 위치 정보까지 함께 제공하므로, 패턴의 세부 정보가 필요한 경우에 매우 유용하게 활용할 수 있습니다.