JavaScript RegExp exec() 메서드
- 이전 페이지 compile()
- 다음 페이지 test()
- 上一层으로 돌아가기 JavaScript RegExp 참조 가이드
정의와 사용법
exec()
메서드는 문자열 내의 일치 항목을 테스트합니다.
이 메서드는 일반적인 일치 패턴입니다.
일치하는 항목이 있으면 결과 배열을 반환하고, 그렇지 않으면 null
.
실例
예제 1
문자열에서 문자 "e"를 검색합니다:
let text = "The best things in life are free"; let result = /e/.exec(text);
예제 2
문자열에서 "Hello"와 "W3School"를 전체적으로 검색합니다:
let text = "Hello world!"; // "Hello"를 찾기 위해 let result1 = /Hello/.exec(text); // "W3School"를 찾기 위해 let result2 = /W3School/.exec(text);
문법
regexp.exec(string)
파라미터
파라미터 | 설명 |
---|---|
string | 필수입니다. 검색할 문자열입니다. |
반환 값
형식 | 설명 |
---|---|
배열 | 일치하는 것이 있으면 일치하는 텍스트를 포함하는 배열을 반환하고, 그렇지 않으면 null을 반환합니다. |
기술적 세부 사항
반환 값
배열입니다. 일치하는 결과를 저장합니다. 일치하는 것이 없으면 값을 null
다음은 반환하는 배열의 형식을 설명합니다.
발생시킵니다.
형식 | 설명 |
---|---|
TypeError | 이 메서드를 호출하는 객체가 RegExp가 아니면 이 예외를 발생시킵니다. |
설명
모든 RegExp 패턴 일치 메서드 중 String 패턴 일치 메서드보다exec()
의 기능이 가장 강력합니다. 이는 일반적인 메서드로, 사용하기가 RegExp.test()、String.replace() 와 String.match() 모두 복잡합니다.
exec()
을 검색할 문자열 string에서 정규 표현식 regexp 일치하는 텍스트입니다. 만약 exec()
일치하는 텍스트를 찾으면 결과 배열을 반환합니다. 그렇지 않으면 null
이 반환 배열의 0번 요소는 표현식과 일치하는 텍스트입니다. 1번 요소는 regexp 의 두 번째 서브 표현식과 일치하는 텍스트(존재하면)를 반환합니다. 이와 같이 계속됩니다. regexp 의 첫 번째 서브 표현식과 일치하는 텍스트(존재하면)를 반환합니다. 두 번째 요소는exec()
두 번째 서브 표현식과 일치하는 텍스트가 있습니다. 이와 같이, 배열의 length 속성은 배열 내 요소의 개수를 선언합니다. 배열 요소와 length 속성 외에도 string와 동일합니다. exec()
메서드를 호출할 때, 반환하는 배열은 String.match() 을(를) 호출할 때, 반환하는 배열은 호출된 메서드와 동일합니다.
비전체 모드의 exec()
메서드를 호출할 때, 그것은 검색을 수행하고 위의 결과를 반환합니다. 그러나 regexp 이 전체 정규 표현식이며exec()
의 동작은 약간 복잡합니다. 그것은 regexp 의 lastIndex 속성이 지정한 문자 위치에서 문자열을 검색하기 시작하는 것을 의미합니다 string 를 반복적으로 호출하여 regexp 의 lastIndex 속성을 일치 텍스트의 첫 번째 문자 위치로 설정합니다. 이는 exec()
메서드를 사용하여 문자열 내의 모든 일치 텍스트를 탐색할 수 있습니다. exec()가 더 이상 일치 텍스트를 찾을 수 없을 때까지, 그것은 null
을(를) 호출하면, lastIndex 속성을 0으로 재설정해야 합니다. 다른 문자열에서 패턴 일치를 완료한 후 새로운 문자열을 검색하려면 반드시 lastIndex 속성을 0으로 수동으로 재설정해야 합니다.
주의할 것은, 어떤 경우에도 regexp 전체 모드 여부에 따라exec()
는 반환하는 배열에 모든 세부 정보를 추가합니다. 이는 exec()
와 String.match() 의 차이점은, 후자가 전체 모드에서 반환하는 정보가 훨씬 적습니다. 사실, 반복적으로 호출하는 것은 exec()
메서드는 전체 모드의 완전한 패턴 일치 정보를 얻을 수 있는 유일한 방법입니다.
브라우저 지원
exec()
ECMAScript1 (ES1)의 특성입니다.
모든 브라우저는 ES1 (JavaScript 1997)를 완벽히 지원합니다:
크롬 | IE | 에지 | 파이어폭스 | 사파리 | 오페라 |
---|---|---|---|---|---|
지원 | 지원 | 지원 | 지원 | 지원 | 지원 |
정규 표현식 검색 메서드
JavaScript에서 정규 표현식 텍스트 검색은 다양한 메서드로 완료할 수 있습니다.
사용패턴(pattern)정규 표현식으로서, 이들은 가장 일반적으로 사용되는 메서드들입니다:
예시 | 설명 |
---|---|
text.match(패턴) | 문자열 메서드 match() |
text.search(패턴) | 문자열 메서드 search() |
패턴.exec(text) | RexExp 메서드 exec() |
패턴.test(text) | RexExp 메서드 test() |
- 이전 페이지 compile()
- 다음 페이지 test()
- 上一层으로 돌아가기 JavaScript RegExp 참조 가이드