JavaScript match() 메서드란?
문자열에서 특정 표현식과 일치하는 부분을 찾으려면 자바스크립트의 match() 메서드를 사용하면 됩니다. 이 메서드는 문자열을 정규 표현식(Regular Expression)과 비교하여 일치하는 결과를 검색할 때 활용됩니다.
match() 메서드는 하나의 매개변수를 받습니다.
- param – 매칭에 사용할 정규 표현식 객체(RegExp object)
g 플래그 유무에 따른 반환값 차이
match() 메서드의 동작은 정규 표현식에 g(global) 플래그가 포함되어 있는지에 따라 달라집니다.
- g 플래그가 없는 경우: 첫 번째 일치 항목만 반환하며, 그 결과는
regexp.exec(string)메서드를 실행한 것과 동일합니다. - g 플래그가 있는 경우: 문자열 전체에서 일치하는 모든 항목을 담은 배열(Array)을 반환합니다.
예제 코드
아래 코드는 자바스크립트 정규 표현식으로 표현식을 매칭하는 실제 예제입니다. 직접 실행해 보세요.
<html> <head> <title>JavaScript String match() Method</title> </head> <body> <script> var str = "For more information, see Chapter 3.4.5.1"; var re = /(chapter \d+(\.\d)*)/i; var found = str.match( re ); document.write(found); </script> </body> </html>
코드 설명
위 예제에서 정규 표현식 /(chapter \d+(\.\d)*)/i는 "Chapter"라는 단어와 그 뒤에 오는 숫자 패턴(예: 3.4.5.1)을 찾습니다. 마지막의 i 플래그는 대소문자를 구분하지 않고 매칭하도록 설정한 것입니다.
실행 결과로 ["Chapter 3.4.5.1", "Chapter 3.4.5.1", ".1"]이 출력되며, 전체 일치 문자열과 캡처 그룹(capture group)의 결과가 함께 배열로 반환됩니다.