정규표현식 이메일 URL 텍스트 패턴 추출 공식과 활용 가이드

정규식 텍스트 추출기

분석할 원문 텍스트를 입력창에 붙여넣고 원하는 추출 타겟 패턴을 선택하여 매칭 리스트를 1초 만에 깔끔한 행 단위 데이터로 추출해 보세요.

대량의 웹 서버 액세스 로그 파일이나 마케팅 고객 문의 메일함 데이터 등에서 원하는 특정 정보(이메일, 전화번호, 하이퍼링크 URL, 해시태그 등)만 정제하여 리스트 형태로 추출해야 할 때 수작업으로 복사 및 붙여넣기를 수행하는 것은 물리적으로 불가능에 가깝습니다.

이때 특정 패턴의 형식을 일괄적으로 필터링하여 배열로 모아주는 정규표현식 기반 텍스트 추출 기술이 실무 데이터 가공의 핵심 열쇠로 작동합니다. 본 글에서는 주요 정규식 추출 공식과 그룹 패턴을 활용한 데이터 정제 기법을 해설합니다.


1. 실무 텍스트 추출용 정규식 매핑 공식

특정 도메인의 텍스트 정보를 완벽에 가깝게 추출하기 위해 사용되는 정규식 공식 매트릭스는 다음과 같습니다:

  • 이메일 주소 추출 공식: [ \text{Regex}{\text{email}} = \text{/[a-zA-Z0-9.%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}/g} ]
  • URL 하이퍼링크 추출 공식: [ \text{Regex}_{\text{url}} = \text{/https?://(?:[a-zA-Z0-9-]+.)+[a-zA-Z]{2,}(?:/[^\s]*)?/g} ]
  • 휴대폰 번호 추출 공식 (국내 표준): [ \text{Regex}_{\text{phone}} = \text{/01[016789][-.\s]?\d{3,4}[-.\s]?\d{4}/g} ]
  • 아라비아 숫자 추출 공식: [ \text{Regex}_{\text{numbers}} = \text{/\d+/g} ]

2. 캡처 그룹(Capture Group)을 활용한 정교한 매핑 기법

단순히 전체 패턴을 추출하는 것을 넘어, 매칭된 텍스트 중 원하는 특정 부분만 분리 파싱하고 싶다면 소괄호 () 기호를 사용하는 **캡처 그룹(Capture Group)**을 이용해 구조화해야 합니다.

const logText = "USER_ID: gim123, STATUS: SUCCESS";
// 아이디 값만 따로 캡처하는 정규식 선언
const idRegex = /USER_ID:\s*([a-zA-Z0-9]+)/;

const match = logText.match(idRegex);
if (match) {
  const fullMatch = match[0]; // "USER_ID: gim123" (전체 매칭 문자열)
  const capturedId = match[1]; // "gim123" (소괄호 내부 첫 캡처 그룹 문자열)
  console.log(capturedId); // "gim123"만 깔끔하게 추출 성공
}

[!NOTE] 매번 명령프롬프트에서 노드JS 스크립트를 짜거나 정규식 코드를 테스트해 가며 텍스트를 파싱할 필요 없이, 정규식 텍스트 추출기 도구를 활용하면 원문 문장을 복사해 넣고 필요한 추출 유형(이메일, 숫자, 전화번호, 커스텀 정규식)을 누르는 즉시 추출 결과 리스트를 한 줄에 하나씩 정렬하여 획득할 수 있습니다.

정규식 텍스트 추출기

분석할 원문 텍스트를 입력창에 붙여넣고 원하는 추출 타겟 패턴을 선택하여 매칭 리스트를 1초 만에 깔끔한 행 단위 데이터로 추출해 보세요.


3. 대량 텍스트 파싱 시 성능 및 안전성 팁

  1. 글로벌 플래그(g) 누락 주의: 텍스트 추출 시 g 플래그를 빠뜨리면 타겟 문서에 수만 개의 이메일 주소가 들어 있더라도 첫 줄의 첫 번째 이메일 딱 한 개만 추출한 뒤 엔진이 종료됩니다. 전체 리스트 수집 시에는 무조건 g 플래그 선언을 확인하십시오.
  2. 구분자(Separator) 기반 정렬: 추출한 데이터를 엑셀(Excel)에 붙여넣어 활용하기 위해서는 콤마(,) 또는 탭(\t, TSV) 단위로 구분지어 출력하는 정합 옵션을 지정하여 가공하는 것이 실무 데이터 적재 프로세스를 획기적으로 단축해 줍니다.
가격 보기카톡 무료 상담