정규식은 문자 자체보다 구조를 찾습니다
IMG_1234.jpg, IMG_5678.jpg, IMG_9012.jpg의 숫자는 모두 다르지만 ‘IMG_로 시작하고 숫자가 이어진다’는 구조는 같습니다. 정규식은 이런 공통 패턴을 찾는 방법입니다.
Only My Kit의 File Renamer는 확장자를 제외한 파일명에 JavaScript 정규식을 적용합니다. 입력한 패턴은 전역으로 사용되므로 한 이름 안에 같은 패턴이 여러 번 있으면 모두 바뀝니다.
접두사·공백·끝 번호부터 따라하기
먼저 자주 쓰는 다섯 가지 예제입니다. Replace가 빈 문자열이면 찾은 부분을 삭제합니다.
파일 앞의 IMG_ 제거
IMG_001.jpg
IMG_002.jpg
IMG_003.jpg^IMG_빈 문자열001.jpg
002.jpg
003.jpg^는 확장자를 제외한 파일명 시작을 뜻합니다.
Screenshot_ 접두사 제거
Screenshot_2026-08-17.png
Screenshot_2026-08-18.png^Screenshot_빈 문자열2026-08-17.png
2026-08-18.png정확히 이 접두사로 시작하는 파일만 바뀝니다.
공백을 밑줄로 변경
summer vacation 001.jpg
summer vacation 002.jpg\s+_summer_vacation_001.jpg
summer_vacation_002.jpg\s+는 하나 이상의 연속 공백을 한 번에 찾습니다.
끝의 (1), (2) 번호 제거
report (1).pdf
report (2).pdf
report (17).pdf\s*\(\d+\)$빈 문자열report.pdf
report.pdf
report.pdf괄호 번호가 파일명 끝에 있을 때 앞 공백까지 선택합니다. 결과 이름이 같아지면 도구가 중복을 경고합니다.
확장자 앞의 마지막 숫자 변경
event_001.jpg
session_42.jpg\d+$finalevent_final.jpg
session_final.jpg정규식은 확장자를 제외한 이름에 적용되므로 $는 .jpg 앞의 파일명 끝을 의미합니다.
날짜·여러 접두사·suffix 정리하기
괄호로 묶은 값을 다시 사용하거나 여러 후보를 한 패턴으로 찾을 수 있습니다. 처음에는 전체 파일이 아니라 복사본 몇 개로 결과를 확인하세요.
날짜를 YYYY-MM-DD로 바꾸기
20260817_photo.jpg
20260818_photo.jpg^(\d{4})(\d{2})(\d{2})_$1-$2-$3_2026-08-17_photo.jpg
2026-08-18_photo.jpg괄호로 잡은 연·월·일을 JavaScript 치환 문법 $1, $2, $3으로 다시 사용합니다.
여러 종류의 연속 공백 정리
product image 01.jpg\s+_product_image_01.jpg공백 개수가 달라도 하나의 밑줄로 정리됩니다.
여러 접두사 중 하나 제거
KakaoTalk_trip.jpg
DSC_1042.jpg
Screenshot_home.png
IMG_7788.jpg^(KakaoTalk_|DSC_|Screenshot_|IMG_)빈 문자열trip.jpg
1042.jpg
home.png
7788.jpg괄호 안의 |는 여러 후보 중 하나를 뜻합니다.
모든 숫자 덩어리 찾기
photo_12_take_3.jpg\d+Nphoto_N_take_N.jpg도구는 g 플래그를 사용하므로 파일명 안의 모든 숫자 묶음이 바뀝니다.
파일명 끝의 _copy 제거
proposal_copy.docx
photo_copy.jpg_copy$빈 문자열proposal.docx
photo.jpg$를 사용하면 중간의 _copy는 건드리지 않고 끝에 있는 경우만 선택합니다.
초보자용 Regex Cheat Sheet
점(.)은 정규식에서 ‘아무 문자 하나’라는 특별한 뜻입니다. 실제 점을 찾으려면 \.(백슬래시와 점)을 사용해야 합니다. .*는 범위가 넓으므로 앞뒤 기준을 함께 두지 않으면 예상보다 많은 글자를 선택할 수 있습니다.
| 표현 | 의미 |
|---|---|
| ^ | 파일명 시작 |
| $ | 파일명 끝 |
| \d | 숫자 하나 |
| \d+ | 숫자 하나 이상 |
| \s | 공백 문자 |
| \s+ | 공백 하나 이상 |
| . | 임의의 문자 하나 |
| .* | 임의의 문자 여러 개 |
| () | 찾은 부분을 그룹화 |
| $1 | 첫 번째 그룹 재사용 |
| \. | 실제 점(.) |
이 도구에서 확장자와 캡처 그룹은 이렇게 동작합니다
File Renamer는 마지막 점을 기준으로 base name과 확장자를 나눈 뒤 정규식을 base name에만 적용합니다. 그래서 report (1).pdf에서 $는 .pdf 뒤가 아니라 (1) 뒤의 위치를 뜻합니다.
JavaScript String.replace를 사용하므로 괄호로 캡처한 첫 번째 그룹은 Replace의 $1, 두 번째는 $2로 다시 사용할 수 있습니다. 패턴은 g 플래그로 생성되어 모든 일치 항목을 바꿉니다.
확장자 입력란은 이름의 확장자 문자열만 바꿉니다. JPG를 WebP로 적는다고 실제 이미지 데이터가 변환되는 것은 아니므로 포맷 변환 도구와 혼동하지 마세요.
적용하기 전에 반드시 미리보기를 확인하세요
정규식 하나는 선택한 모든 파일에 적용됩니다. 특히 \d+나 .*처럼 넓은 패턴은 날짜뿐 아니라 제품 번호와 버전 번호까지 선택할 수 있습니다.
괄호를 닫지 않거나 잘못 escape한 패턴은 ‘정규식을 확인해 주세요’ 오류로 표시되고 다운로드가 막힙니다. 변경 후 이름이 서로 같아지는 경우에도 중복 경고가 나타나며 ZIP 다운로드가 비활성화됩니다.
- 원본 파일은 직접 변경되지 않고 새 이름의 복사본이 ZIP에 담깁니다.
- 서로 다른 종류의 파일은 작은 묶음으로 나누어 테스트합니다.
- Before/After에서 예상하지 않은 일치가 하나라도 보이면 Pattern을 더 구체적으로 만듭니다.
- report (1), report (2)를 모두 report로 만들면 이름이 충돌한다는 점을 기억합니다.
정규식을 몰라도 예제에서 시작할 수 있습니다
File Renamer에는 정규식 사용 체크박스, 간단한 도움말, 모든 파일의 변경 전/후 미리보기가 있습니다. 위 예제에서 가장 가까운 규칙을 복사한 뒤 접두사나 글자만 바꿔 시작하세요.
실제 파일은 그대로 남고 변경된 이름의 복사본을 ZIP으로 받습니다. 중요한 자료라면 다운로드한 ZIP의 이름을 확인한 뒤 보관 위치를 정하세요.
FAQ
- 정규식이 확장자에도 적용되나요?
- 아닙니다. 현재 도구는 마지막 점 뒤의 확장자를 분리하고 그 앞의 파일명에 정규식을 적용합니다.
- $1 치환을 지원하나요?
- 예. JavaScript replace 문법을 사용하므로 캡처 그룹을 $1, $2처럼 재사용할 수 있습니다.
- 원본 파일명이 바로 바뀌나요?
- 아닙니다. 브라우저에서 새 이름을 미리 보고, 원본 데이터의 복사본을 새 이름으로 ZIP에 담아 다운로드합니다.