Text/Clean

찾아 바꾸기와 정규식 실전 패턴 모음

텍스트 정리에 바로 쓰는 JavaScript 정규식 찾아 바꾸기 패턴 13가지. 날짜 형식 변환, 전화번호 마스킹, 괄호 내용 삭제, 줄 끝 공백 제거와 $1 그룹 참조 사용법을 설명합니다.

찾아 바꾸기 는 일반 모드와 정규식 모드를 모두 지원합니다. 일반 모드는 입력한 글자를 그대로 찾고, 정규식 모드는 패턴으로 찾습니다. 이 글은 정규식 모드의 규칙과 자주 쓰는 패턴을 정리합니다.

이 도구의 정규식 규칙

  • 문법은 브라우저의 JavaScript 정규식입니다.
  • g(모두 바꾸기), m(여러 줄), u(유니코드) 플래그가 자동으로 붙습니다. '대소문자 무시'를 켜면 i 가 더해집니다.
  • m 플래그 때문에 ^$ 는 텍스트 전체가 아니라 각 줄의 시작과 끝에 맞습니다.
  • u 플래그 때문에 불필요한 역슬래시는 오류가 됩니다. 예를 들어 \: 는 쓸 수 없고 : 로 적어야 합니다. \p{L} 같은 유니코드 속성은 쓸 수 있습니다.
  • 바꿀 내용에서 $1, $2 는 괄호 그룹, $& 는 일치한 전체, $$$ 글자 하나입니다. \n 은 줄바꿈, \t 는 탭이 됩니다.
  • 패턴에 오류가 있으면 그 단계는 입력을 바꾸지 않고 오류를 표시합니다.
\s 는 줄바꿈에도 일치합니다. 줄을 넘지 않게 공백만 찾으려면 [ \t] 를 쓰세요.

실전 패턴

아래는 '찾을 내용 → 바꿀 내용' 형식입니다. 바꿀 내용이 '(비움)'이면 칸을 비워 두세요.

1. 날짜 형식 바꾸기

(\d{4})-(\d{2})-(\d{2})$1.$2.$3

2026-09-23  →  2026.09.23

순서를 바꾸려면 $3/$2/$1 처럼 그룹 번호의 위치를 바꿉니다.

2. 휴대전화 번호 가운데 가리기

(01[016789])-?(\d{3,4})-?(\d{4})$1-****-$3

010-1234-5678  →  010-****-5678
01098765432    →  010-****-5432

3. 이메일 앞부분 가리기

\b([A-Za-z0-9._%+-]{2})[A-Za-z0-9._%+-]*@$1***@

hong.gildong@example.com  →  ho***@example.com

4. 괄호와 그 안의 내용 지우기

\s*\([^)]*\) → (비움)

서울(본사) 부산 (지사)  →  서울 부산

괄호가 겹쳐 있는 ((a)) 같은 구조는 한 번에 지워지지 않을 수 있습니다.

5. 줄 끝 공백 지우기

[ \t]+$ → (비움)

6. 세 줄 이상 빈 줄을 한 줄로

\n{3,}\n\n

7. 숫자의 천 단위 쉼표 지우기

(\d),(?=\d{3}\b)$1

1,234,567원  →  1234567원

8. URL의 쿼리·해시 지우기

(https?:\/\/[^\s?#]+)[?#]\S*$1

https://example.com/page?utm_source=a#top  →  https://example.com/page

9. 채팅 기록 앞의 시각 지우기

^\[?\d{1,2}:\d{2}(?::\d{2})?\]?[ \t]* → (비움)

[12:30] 안녕하세요  →  안녕하세요

10. '성, 이름' 순서 바꾸기

^([^,\n]+),[ \t]*(.+)$$2 $1

Kim, Minsu  →  Minsu Kim

11. 반복된 단어 하나로

\b(\w+)[ \t]+\1\b$1 ('대소문자 무시'를 켜면 The the 도 잡습니다)

12. 한글과 영문 사이 띄우기

(\p{Script=Hangul})([A-Za-z])$1 $2

한글abc  →  한글 abc

13. 숫자를 괄호로 감싸기

\d+(?:\.\d+)?[$&]

자주 하는 실수

  • 점(.)을 그대로 쓰기: 정규식에서 . 는 아무 글자 하나를 뜻합니다. 마침표나 도메인의 점을 찾으려면 \. 로 적으세요. example.comexampleXcom 에도 일치합니다.
  • 욕심 많은 .\*: <.*> 는 한 줄에서 처음 < 부터 마지막 > 까지를 통째로 잡습니다. <b>x</b> <i>y</i> 에 적용하면 글자까지 모두 사라집니다. 태그 하나씩 잡으려면 <[^>]*><.*?> 를 씁니다.
  • 바꿀 내용의 $: 정규식 모드에서 바꿀 내용에 가격 표시처럼 $ 를 넣으려면 $$ 로 적어야 합니다. 일반 모드에서는 $ 가 글자 그대로 들어갑니다.
  • 특수 문자를 글자로 찾기: ( ) [ ] + ? * 를 찾으려면 앞에 역슬래시를 붙입니다. 기호가 많다면 정규식을 끄고 일반 모드로 찾는 편이 간단합니다.

여러 줄을 한 번에 다루기

찾을 내용에 \n 을 넣으면 줄바꿈 자체를 찾을 수 있습니다. 예를 들어 ,\n, 는 쉼표로 끝나는 줄을 다음 줄과 합칩니다. 줄 전체를 지우는 것이 목적이라면 정규식보다 줄 필터 가 간단합니다. 문장 단위로 줄을 나누는 일은 줄바꿈 추가(나누기) 의 '문장 끝' 기준이 더 안전합니다.

순서가 중요합니다

찾아 바꾸기 단계는 한 파이프라인에 여러 개 넣을 수 있고 위에서부터 차례로 적용됩니다. 앞 단계의 결과가 뒤 단계의 입력이 되므로, 공백을 먼저 정리해야 패턴이 맞는 경우가 많습니다. 앞뒤 공백 제거연속 공백·탭 정리 를 앞에 두면 패턴을 단순하게 쓸 수 있습니다.

체크리스트

  • 줄 단위 패턴은 ^$ 를 씁니다.
  • 줄을 넘지 않으려면 \s 대신 [ \t] 를 씁니다.
  • 결과를 확인하고, 틀리면 단계를 끄고 패턴을 고칩니다.

최종 수정: 2026-09-23