Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

Javascript에서 test()와 exec() 메소드의 차이점

<시간/>

exec가 그룹을 캡처하고 입력에 정규식을 일치시키는 동안 일치를 테스트하고 부울을 반환합니다.

정규식과 일치하도록 입력 문자열만 테스트해야 하는 경우 RegExp.test가 가장 적합합니다. 조건에 적합하도록 부울 반환 값을 제공합니다.

RegExp.exec는 모든 캡처 그룹과 일치하는 인덱스가 포함된 배열과 같은 반환 값을 제공합니다. 따라서 매치 후 캡처된 그룹이나 인덱스로 작업해야 할 때 유용합니다.

예시

console.log(/^([a-z]+) ([A-Z]+)$/.exec("hello WORLD"))
console.log(/^([a-z]+) ([A-Z]+)$/.test("hello WORLD"))

출력

[ 'hello WORLD', 
   'hello', 
   'WORLD', 
   index: 0, 
   input: 'hello WORLD', 
   groups: undefined ] 
true

exec에 의해 반환된 배열의 첫 번째 인덱스는 완전히 일치하는 문자열입니다. 다음 인덱스는 정규식에 의해 캡처된 개별 그룹입니다.