-
JavaScript match() 메서드javascript 2023. 3. 21. 14:44728x90
JavaScript match( ) 메서드에 대해서
match( ) 메서드는 무엇일까?
문자열이 정규식과 매치되는 부분을 검색한다.
str.match(regexp)regexp는 정규식 개체이다. RegExp가 아닌 객체 obj가 전달되면, new RegExp(obj)를 사용하여 암묵적으로 RegExp로 변환된다. 매개변수를 전달하지 않고 match()를 사용하면, 빈 문자열 : [ “” ]이 있는 Array가 반환된다.
여기서 RegExp란?
- 패턴을 사용해 텍스트를 판별할 때 사용한다.
- 리터럴 표기법과 생성자이다.
- 리터럴 표기법의 매개변수는 두 빗금으로 감싸야하며 따옴표를 사용하지 않는다.
- 생성자 함수의 매개변수는 빗금으로 감싸지 않으나 따옴표를 사용한다.
결과 값은 문자열이 정규식과 일치하면, 일치하는 전체 문자열을 첫 번째 요소로 포함하는 Array를 반환한 다음 괄호 안에 캡처된 결과가 온다. 일치하는 것이 없으면 null이 반환된다.
정규식에 g 플래그가 포함되어 있지 않으면 , str.match()는 RegExp.exex()와 같은 결과를 반환한다. 반환도니 Array는 원래 문자열의 값을 가지는 input 속성을 포함한다. 그리고 문자열에서 제로 베이스의 인덱스를 나타내는 index속성 또한 포함한다.
정규식에 g플래그가 포함되어 있으면, 일치는 객체가 아닌 일치하는 하위 문자열을 포함하는 Array를 반환한다. 캡처된 그룹은 반환되지 않는다. 일치하는 것이 없으면 null이 반환된다.
예시)
let a = "Apple cider is cider?" let b = a.match("is"); console.log(b); //['is']match 안에 있는 값을 찾으면 그 값을 반환하고 index 값까지 나온다.
나의 주관적인 생각
프로그래머스 문제 풀다가 matchAll 메서드를 이용한 간단하고 깔끔한 코드를 봤어서 이렇게 찾아 공부해봤는데 찾으면 찾을수록 이걸 잘 써먹기 위해선 정규 표현식에 대해 제대로 알고 난 후에 이 메서드를 다시 공부하는 게 좋을 것 같다.
그래서 지금 여기 내용이 부족하지만 정규 표현식 → match( ) → matchAll( ) 를 익히고 나서 다시 수정할 계획이다!
반응형'javascript' 카테고리의 다른 글
GSAP 애니메이션 라이브러리 20일 플랜 (챗지피가 짜준) (5) 2025.08.20 GSAP 애니메이션 라이브러리 1 (4) 2025.08.19 JavaScript 이벤트 처리기 함수 - e.currentTarget (0) 2023.03.20 JavaScript sort()메서드 (0) 2023.03.19 JavaScript toLocaleString()메서드 (2) 2023.03.18