[javascript]문자열에서 정규 표현식과 일치하는 부분을 찾는 데 사용되는 match()

0
571
javascript
javascript

JavaScript에서 match() 메소드는 문자열에서 정규 표현식과 일치하는 부분을 찾는 데 사용됩니다. 이 메소드는 문자열에 적용되며, 정규 표현식을 인수로 받습니다. 여기 사용 방법에 대한 기본적인 안내가 있습니다.

기본 사용법

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()