본문 바로가기




Future Items

정규식을 활용하여 특정 문자 이후 추출하기

by 독서하는 AI 2023. 12. 18.
 
반응형

정규식(Regular Expression)은 문자열에서 패턴을 검색하고 추출하는 강력한 도구입니다. 특정 문자 이후의 문자열을 추출하는 기능은 정규식을 이해하고 활용하는 프로그래머에게 큰 도움이 됩니다. 이번 글에서는 자바스크립트에서 정규식을 이용하여 특정 문자 이후의 문자열을 추출하는 방법에 대해 알아보겠습니다.

match 메소드

자바스크립트에서 문자열을 정규식과 일치하는 부분으로 분할하는 메소드 중 가장 일반적인 방법은 `match` 메소드입니다. `match` 메소드는 정규식과 일치하는 결과를 배열로 반환합니다. 이 배열의 첫 번째 요소는 정규식과 일치하는 전체 문자열이고, 그 이후의 요소들은 정규식의 그룹(괄호로 둘러싸인 부분식)과 일치하는 문자열입니다.

예를 들어, 아래의 문자열에서 "Hello" 이후의 문자열을 추출하고 싶을 때, 다음과 같은 정규식을 사용할 수 있습니다.

const str = "Hello, World!";
const regex = /Hello,(.*)/;

const result = str.match(regex);
const extractedString = result[1];
console.log(extractedString); // " World!"

exec 메소드


`exec` 메소드는 정규식과 일치하는 문자열을 찾고, 일치하는 문자열의 배열을 반환합니다. `match` 메소드와 달리, `exec` 메소드는 반복적으로 호출되어야 합니다. 이러한 특성 때문에 `exec` 메소드는 보다 복잡한 문자열 추출 작업에 적합합니다.

아래의 예제에서는 `exec` 메소드를 사용하여 "Hello, World!" 이후의 문자열을 추출해보겠습니다.

const str = "Hello, World!";
const regex = /Hello,(.*)/g;

let result;
while ((result = regex.exec(str)) !== null) {
  const extractedString = result[1];
  console.log(extractedString); // " World!"
}

위의 예제에서는 반복문을 통해 `exec` 메소드를 여러 번 호출하여 일치하는 모든 문자열을 추출합니다. 이렇게 하면 정규식과 일치하는 모든 부분 문자열을 간편하게 추출할 수 있습니다.

replace 메소드

`replace` 메소드는 정규식과 일치하는 문자열을 다른 문자열로 치환하는 데 사용됩니다. 이 메소드를 이용하여 특정 문자 이후의 문자열을 추출할 수도 있습니다.

아래의 예제에서는 `replace` 메소드를 이용해 "Hello" 이후의 문자열을 추출해보겠습니다.

const str = "Hello, World!";
const regex = /Hello,/;
const extractedString = str.replace(regex, "");
console.log(extractedString); // " World!"

위의 예제에서는 `replace` 메소드를 사용하여 "Hello,"를 빈 문자열로 대체했습니다. 그 결과로 "Hello" 이후의 문자열만 추출됩니다.

정규식 플래그


정규식을 사용할 때 조건에 따라 다양한 플래그를 사용할 수 있습니다. 가장 일반적인 플래그로는 `g`와 `i`가 있습니다.

  • `g` 플래그는 전역 검색을 의미합니다. 하나의 문자열에서 여러 번 일치하는 모든 부분을 찾습니다.
  • `i` 플래그는 대소문자를 구분하지 않고 일치하는 문자열을 찾습니다.

예를 들어, "Hello" 이후의 문자열을 대소문자를 구분하지 않고 추출하고 싶다면 다음과 같이 정규식을 설정할 수 있습니다.

const str = "Hello, World!";
const regex = /Hello,(.*)/i;

const result = str.match(regex);
const extractedString = result[1];
console.log(extractedString); // " World!"

정리

정규식을 활용하여 특정 문자 이후의 문자열을 추출하는 방법을 살펴보았습니다. 이를 통해 문자열 처리 작업을 효율적으로 수행할 수 있습니다. 다시 한 번 정규식의 강력함과 유연성을 느낄 수 있었을 것입니다.

이번 글에서는 `match`, `exec`, `replace` 등 다양한 메소드를 사용한 예제를 통해 설명하였습니다. 이러한 예제를 통해 정규식을 이해하는 데 도움이 되었기를 바랍니다.

참고 자료:

반응형