정규표현식으로 텍스트 패턴 찾아 바꾸기 입문
정규표현식(Regex)의 기본 문법부터 텍스트 편집에서 자주 쓰는 패턴(공백 제거, 이메일 추출, 줄바꿈 정리)까지 실전 예제 중심으로 설명합니다.
Q.정규표현식으로 텍스트에서 특정 패턴을 찾아 바꾸려면 어떻게 하나요?
VS Code, Notepad++ 등 편집기의 찾기·바꾸기(Ctrl+H) 기능에서 정규식 옵션을 활성화한 뒤 패턴을 입력합니다. 예를 들어 연속 공백 제거는 찾기: `\s+`, 바꾸기: ` `(공백 1개), HTML 태그 제거는 찾기: `<[^>]+>`, 바꾸기: 빈 칸입니다.
"이 데이터에서 이메일 주소만 뽑아줘" 라는 요청에 직접 코드 없이도 해결할 수 있는 도구가 정규표현식이다. Stack Overflow 2024 개발자 설문에서 정규표현식은 "가장 많이 사용하는 텍스트 처리 기법" 1위를 차지했다.
정규표현식 핵심 문법
| 패턴 | 의미 | 예시 |
|---|---|---|
. | 임의의 문자 1개 | a.c → abc, adc |
| 0회 이상 반복 | ab → a, ab, abb |
+ | 1회 이상 반복 | ab+ → ab, abb |
? | 0 또는 1회 | colou?r → color, colour |
{n,m} | n~m회 반복 | d{2,4} → 2~4자리 숫자 |
[abc] | a, b, c 중 하나 | [aeiou] → 모음 |
[^abc] | a, b, c 제외 | [^0-9] → 숫자 아님 |
^ | 줄 시작 | ^Hello |
$ | 줄 끝 | World$ |
d | 숫자 | d+ → 1개 이상 숫자 |
s | 공백 문자 | s+ → 공백들 |
w | 단어 문자 | w+ → 단어 |
텍스트 편집 실전 패턴 10가지
1. 연속 공백 제거
찾기: s+
바꾸기: (공백 1개)
2. 앞뒤 공백(공백 트림)
찾기: ^s+|s+$
바꾸기: (빈 칸)
3. HTML 태그 제거
찾기: <[^>]+>
바꾸기: (빈 칸)
4. 이메일 주소 추출
패턴: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}
5. 전화번호 형식 통일 (010-xxxx-xxxx)
찾기: (d{3})[- ]?(d{4})[- ]?(d{4})
바꾸기: $1-$2-$3
6. URL 추출
패턴: https?://[^s<>"']+
7. 빈 줄 여러 개 → 한 개
찾기:
{3,}
바꾸기:
8. 마크다운 굵은 글씨 제거
찾기: **([^*]+)**
바꾸기: $1
9. 괄호 내용 제거
찾기: ([^)]*)
바꾸기: (빈 칸)
10. 날짜 형식 변환 (20260501 → 2026-05-01)
찾기: (d{4})(d{2})(d{2})
바꾸기: $1-$2-$3
VS Code에서 사용하기
Ctrl+H → 검색창 우측의 . 아이콘 클릭으로 정규식 모드 활성화. 바꾸기 필드에서 $1, $2는 캡처 그룹((...))의 결과를 참조한다.
다음 단계
정규표현식은 regex101.com에서 실시간으로 테스트하고 설명을 확인할 수 있다. 패턴 작성 후 반드시 테스트해보고 예외 케이스를 확인하는 것이 중요하다.
---
이 글은 AI가 공개 자료를 기반으로 작성했습니다. 정규식은 구현 언어마다 미묘한 차이가 있으니 실제 환경에서 검증하세요.*