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"를 검색합니다.
주의사항
- 매칭 실패 시 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 |