Front/JS & jQuery

[js] match

오선지♬ 2025. 1. 6. 20:56
728x90
반응형

match 함수는 JavaScript 문자열(String) 객체의 메서드로,

문자열에서 정규식 패턴과 일치하는 값을 찾고, 그 결과를 배열로 반환합니다.

주로 정규식을 사용하여 특정 패턴을 추출하거나 확인하는 데 사용됩니다.

 

string.match(regexp)
  • string: 검색할 대상 문자열입니다.
  • regexp: 정규식(RegExp) 객체 또는 문자열입니다.
    • 정규식이 아니고 단순 문자열이면 정확히 일치하는 부분을 검색합니다.

 

반환값

  • 정규식에 일치하는 전체 매칭 결과캡처 그룹을 포함한 배열을 반환합니다.
    • 배열의 첫 번째 요소는 전체 매칭된 문자열입니다.
    • 두 번째 요소부터는 캡처 그룹에 해당하는 값들이 순서대로 들어갑니다.
  • 일치하는 값이 없으면 null을 반환합니다.

 

1. 기본 사용 (전체 일치 결과)

const str = "Hello, world!";
const result = str.match(/world/);
console.log(result);
// 출력: ["world"]

정규식 /world/와 일치하는 문자열 "world"를 찾고 배열로 반환합니다.

 

2. 캡처 그룹 사용

const str = "crch123";
const result = str.match(/crch(\d+)/);
console.log(result);
// 출력: ["crch123", "123"]

 

  • crch(\d+):
    • crch: "crch"와 일치
    • (\d+): 숫자(1개 이상)를 캡처 그룹으로 지정
  • 반환값:
    • ["crch123"]: 전체 일치 결과
    • "123": 첫 번째 캡처 그룹의 결과

 

3. 매칭 실패

const str = "Hello, world!";
const result = str.match(/abc/);
console.log(result);
// 출력: null

 

"abc"는 문자열에 없으므로 null이 반환됩니다.

 

4. 글로벌 매칭 (g 플래그)

const str = "apple banana apple";
const result = str.match(/apple/g);
console.log(result);
// 출력: ["apple", "apple"]

 

  • /apple/g: "apple"을 전역으로 검색합니다.
  • 반환값: 모든 매칭된 값의 배열.

 

5. 대소문자 구분 없이 검색 (i 플래그)

const str = "Hello, World!";
const result = str.match(/world/i);
console.log(result);
// 출력: ["World"]

 

/world/i: 대소문자 구분 없이 "world"를 검색합니다.

 

 

 

 

주의사항

  1. 매칭 실패 시 null 반환: 반드시 null 체크를 해주세요.
     
const result = "test".match(/abc/);
if (result) {
    console.log(result[0]);
} else {
    console.log("No match found.");
}

g 플래그 사용 시 캡처 그룹 제외: g 플래그를 사용하면 전체 일치 결과만 반환되고, 캡처 그룹은 제외됩니다.

728x90
반응형

'Front > JS & jQuery' 카테고리의 다른 글

[js] Array.from  (0) 2025.01.10
[js/jQuery] each 와 for 루프 비교 2  (0) 2025.01.09
[js] include / some  (0) 2025.01.05
[js/jQuery] each 와 for 루프 비교  (0) 2025.01.02
[js] 숫자 음수 처리  (0) 2025.01.01