JavaScript에서 match() 메소드는 문자열에서 정규 표현식과 일치하는 부분을 찾는 데 사용됩니다. 이 메소드는 문자열에 적용되며, 정규 표현식을 인수로 받습니다. 여기 사용 방법에 대한 기본적인 안내가 있습니다.
기본 사용법
inline ad
let result = string.match(regexp);
- string: 검사할 문자열입니다.
- regexp: 문자열에서 찾고자 하는 패턴을 나타내는 정규 표현식입니다.
예시
let str = "Hello, world!"; let regexp = /Hello/; let result = str.match(regexp); console.log(result); // 출력: ["Hello"]
이 예시에서 str 문자열에서 “Hello”라는 단어를 찾고 있습니다.
글로벌 검색
정규 표현식에 g 플래그를 사용하면 문자열 전체에서 모든 일치하는 항목을 찾습니다.
let str = "Cats are great, cats are fun."; let regexp = /cats/gi; // 'g'는 전역 검색, 'i'는 대소문자 구분 안 함 let result = str.match(regexp); console.log(result); // 출력: ["Cats", "cats"]
일치 항목 없을 경우
일치하는 항목이 없으면 null을 반환합니다.
let str = "Hello, world!"; let regexp = /dog/; let result = str.match(regexp); console.log(result); // 출력: null
그룹화 및 캡처
정규 표현식에서 괄호를 사용하여 일치하는 부분을 그룹화하고 캡처할 수 있습니다.
let str = "I love JavaScript"; let regexp = /love (\w+)/; let result = str.match(regexp); console.log(result); // 출력: ["love JavaScript", "JavaScript"] console.log(result[1]); // 출력: "JavaScript"
여러 단어 찾기
여러 단어를 찾으려면 |
연산자를 사용할 수 있습니다.
let str = "Cats, dogs, and birds."; let regexp = /cats|dogs|birds/gi; let result = str.match(regexp); console.log(result); // 출력: ["Cats", "dogs", "birds"]
숫자 찾기
숫자를 찾으려면 \d를 사용합니다.
let str = "There are 3 apples and 5 oranges."; let regexp = /\d+/g; let result = str.match(regexp); console.log(result); // 출력: ["3", "5"]
이메일 주소 찾기
복잡한 패턴, 예를 들어 이메일 주소를 찾으려면, 보다 정교한 정규 표현식이 필요합니다.
let str = "My email is example@test.com"; let regexp = /\S+@\S+\.\S+/; let result = str.match(regexp); console.log(result); // 출력: ["example@test.com"]
특정 문자로 시작하거나 끝나는 단어 찾기
let str = "This is a test"; let startRegexp = /^This/; let endRegexp = /test$/; console.log(str.match(startRegexp)); // 출력: ["This"] console.log(str.match(endRegexp)); // 출력: ["test"]
특정 문자 집합 찾기
대괄호 []를 사용하여 특정 문자 집합 중 하나에 해당하는 문자를 찾습니다.
let str = "Hello, how are you?"; let regexp = /[aeiou]/g; let result = str.match(regexp); console.log(result); // 출력: ["e", "o", "o", "a", "e", "o", "u"]
특정 형식의 문자열 찾기
특정 형식, 예를 들어 날짜 형식을 찾으려면 보다 복잡한 정규 표현식이 필요합니다.
let str = "Today's date is 11/11/2023."; let regexp = /\d{2}\/\d{2}\/\d{4}/; let result = str.match(regexp); console.log(result); // 출력: ["11/11/2023"]
이러한 예시들은 match() 메소드가 얼마나 유연하고 강력한지 보여줍니다. 정규 표현식을 통해 문자열에서 다양한 패턴을 찾을 수 있으며, match() 메소드는 이러한 패턴을 추출하는 데 매우 유용합니다.
관련문서
MDN web docs : String.prototype.match()