Featured image of post [Tutorial] VSCode 정규식 찾기·치환 완벽 가이드

[Tutorial] VSCode 정규식 찾기·치환 완벽 가이드

VSCode에서 정규식(Regex)으로 검색·치환하는 방법을 단축키, Find/Replace 패턴, 캡처 그룹, 대소문자 변환(\u, \l)까지 상세히 다룬다. 실무 활용 예시와 워크플로우, 참고 문서를 포함해 생산성을 높이는 튜토리얼이다.

개요

Visual Studio Code(VSCode)는 다양한 언어와 도구를 지원하는 코드 에디터이다. 그중 정규식(Regular Expression)을 활용한 검색·치환은 반복적인 텍스트 수정, 코드 스타일 통일, 문서 일괄 변환 등에서 개발자 생산성을 크게 높여 준다. 이 글에서는 VSCode에서 정규식 찾기·치환을 활성화하는 방법, Find/Replace 패턴의 의미, 캡처 그룹과 대소문자 변환까지 단계별로 다루고, 실무에 바로 쓸 수 있는 예시와 워크플로우를 정리한다.

추천 대상

  • VSCode로 코드·문서를 편집하는 개발자
  • 동일 패턴의 텍스트를 일괄 치환해야 하는 경우
  • 변수명·함수명 대소문자 규칙을 한 번에 맞추고 싶은 경우

다루는 내용

  • 정규식 검색·치환 기능 활성화 및 단축키
  • 예시 패턴 ^- ([a-zA-Z]+)\s([a-zA-Z]+)\s([a-zA-Z]+)$와 치환 - \u$1\u$2\u$3 상세 해설
  • 단계별 적용 방법과 워크플로우 다이어그램
  • 추가 팁 및 참고 문헌

정규식 검색·치환이란

VSCode의 기본 찾기(Ctrl+F / Cmd+F)는 입력한 문자열을 그대로 찾는다. 정규식 모드를 켜면 검색창에 입력한 내용이 정규식 패턴으로 해석되어 다음이 가능해진다.

  • 특정 패턴의 단어·기호만 검색: 예) \d+로 숫자만, [a-zA-Z]+로 영문 단어만
  • 문자열의 앞뒤 조건 확인: ^(줄 시작), $(줄 끝), \b(단어 경계) 등
  • 캡처 그룹으로 원하는 부분만 치환: (…)로 잡은 부분을 $1, $2로 재사용
  • 대소문자 변환: \u, \l 등으로 캡처한 텍스트의 첫 글자만 대문자/소문자로 바꾸기

이를 잘 활용하면 수십·수백 곳을 손으로 바꿀 필요 없이 한 번에 패턴 기반 치환이 가능하다.


사용 환경 및 단축키

동작Windows / LinuxmacOS
현재 파일에서 찾기Ctrl + FCmd + F
현재 파일에서 찾기·치환Ctrl + HCmd + Option + F
전체 프로젝트에서 찾기Ctrl + Shift + FCmd + Shift + F

찾기·치환 창이 열린 상태에서 검색창 왼쪽의 .* 아이콘을 클릭하면 정규식 모드가 켜진다. 아이콘이 눌린 상태일 때 입력한 내용이 정규식으로 해석된다.


예시: Find 패턴 상세 해설

다음은 “대시 + 공백 + 세 개의 영문 단어” 한 줄을 찾아, 세 단어를 이어 붙이고 각 단어 첫 글자를 대문자로 만드는 예시이다.

Find(찾기)
^- ([a-zA-Z]+)\s([a-zA-Z]+)\s([a-zA-Z]+)$

Replace(바꾸기)
- \u$1\u$2\u$3

Find 패턴 구성 요소

부분의미
^줄의 시작
-리터럴 대시 한 개 + 공백 한 개
([a-zA-Z]+)영문 대소문자 하나 이상 → 캡처 그룹 1 ($1)
\s공백 문자 하나
([a-zA-Z]+)두 번째 단어 → 캡처 그룹 2 ($2)
\s공백 하나
([a-zA-Z]+)세 번째 단어 → 캡처 그룹 3 ($3)
$줄의 끝

예: - foo bar baz 한 줄은 이 패턴에 매칭되고, $1=foo, $2=bar, $3=baz로 캡처된다.


Replace 구문: - \u$1\u$2\u$3

치환 문자열의 의미는 다음과 같다.

  • - : 대시와 공백은 그대로 유지
  • \u$1: $1(첫 번째 단어)의 첫 글자만 대문자로 → fooFoo
  • \u$2: 두 번째 단어 첫 글자 대문자 → Bar
  • \u$3: 세 번째 단어 첫 글자 대문자 → Baz

결과적으로 - foo bar baz- FooBarBaz로 바뀐다.

VSCode 치환에서 쓸 수 있는 대소문자 변환

구문효과
\u다음 캡처 그룹의 첫 글자만 대문자
\l다음 캡처 그룹의 첫 글자만 소문자
\U다음 캡처 그룹 전체를 대문자 (해당 그룹 끝까지)
\L다음 캡처 그룹 전체를 소문자

변수명·함수명을 PascalCase나 camelCase로 일괄 변환할 때 유용하다.


단계별 적용 방법

  1. 찾기·치환 창 열기

    • 현재 파일만: Ctrl + H(Windows/Linux) 또는 Cmd + Option + F(Mac)
    • 전체 프로젝트: Ctrl + Shift + F(Windows/Linux) 또는 Cmd + Shift + F(Mac) 후 상단에서 “Replace” 영역 사용
  2. 정규식 모드 켜기
    검색창 왼쪽 .* 아이콘을 눌러 활성화한다.

  3. Find 필드에 정규식 입력
    예: ^- ([a-zA-Z]+)\s([a-zA-Z]+)\s([a-zA-Z]+)$

  4. Replace 필드에 치환 문자열 입력
    예: - \u$1\u$2\u$3

  5. 결과 확인 후 치환
    검색 결과 하이라이트를 보면서 “Replace"로 한 곳씩, 또는 “Replace All"로 일괄 치환한다.


정규식 찾기·치환 워크플로우

아래 플로우는 “정규식 모드 활성화 → Find 입력 → Replace 입력 → 확인 후 치환” 순서를 요약한 것이다.

flowchart LR
  subgraph open["검색·치환"]
    A[찾기·치환 창 열기]
    B["정규식 버튼 .* 클릭"]
    C["Find 필드에 패턴 입력"]
    D["Replace 필드에 치환문 입력"]
  end
  subgraph run["실행"]
    E[결과 하이라이트 확인]
    F{"일괄 치환?"}
    G[Replace 한 곳씩]
    H[Replace All]
  end
  A --> B
  B --> C
  C --> D
  D --> E
  E --> F
  F -->|"아니오"| G
  F -->|"예"| H
  • 노드 ID: 공백 없이 camelCase 사용 (open, run, A~H 등).
  • 라벨에 특수문자·등호가 있는 경우: "정규식 버튼 .* 클릭", "일괄 치환?" 등 큰따옴표로 감쌌다.

추가 팁 및 주의사항

  • 전체 프로젝트 치환 전: “Replace All” 전에 반드시 검색 결과를 훑어보고, 의도한 파일·라인만 포함되는지 확인하는 것이 안전하다.
  • 정규식 테스트: 복잡한 패턴은 regex101.com이나 RegExr에서 먼저 테스트해 보면 실수가 줄어든다.
  • 이스케이프: Find 필드에서 \는 이스케이프 문자이므로, 리터럴 \를 찾으려면 \\\\처럼 입력해야 할 수 있다(엔진에 따라 다름).
  • 줄 단위 vs 전체: 기본적으로 VSCode 정규식은 여러 줄에 걸친 매칭도 가능하다. 줄 단위로만 매칭하려면 ^·$를 사용하면 된다.

참고 문헌

  1. Visual Studio Code 공식 문서
    Code Navigation - Visual Studio Code — 에디터 기본 기능 및 코드 탐색. 찾기·치환 관련 단축키와 동작을 이해하는 데 도움이 된다.

  2. VS Code 문서 루트
    Visual Studio Code Documentation — 설치, 설정, 확장, 디버깅 등 전반적인 공식 문서.

  3. 정규식 문법 참고 (MDN)
    Regular expressions - JavaScript | MDN — 정규식 패턴, 그룹, 플래그 등 문법 설명. VSCode의 JavaScript/TypeScript 정규식 동작과 대부분 호환된다.

  4. 정규식 테스트 도구
    regex101: build, test, and debug regex — 패턴을 입력하고 테스트 문자열로 결과를 확인할 수 있는 온라인 도구.


마무리

VSCode의 정규식 찾기·치환을 쓰면 반복적인 텍스트·코드 수정을 빠르게 처리할 수 있다. 캡처 그룹($1, $2, …)과 대소문자 변환(\u, \l)만 익혀도 변수명·목록 포맷 등을 일괄로 맞추는 데 큰 도움이 된다. 위 참고 문헌과 테스트 사이트를 활용해 패턴을 연습해 보면 실무 적용이 수월해진다.