텍스트 찾기 · 바꾸기 (정규식 지원)
여러 줄에서 문자열·패턴을 한 번에 치환합니다
글자 그대로 찾습니다
비우면 삭제됩니다
입력한 글은 브라우저 밖으로 나가지 않습니다.
결과
왜 ‘문자 그대로’가 기본이어야 할까
찾아 바꾸기는 누구나 아는 기능이지만, 온라인 도구 중에는 조용히 사고를 내는 것이 많습니다. 원인은 대부분 하나 — 입력한 글자를 정규식으로 넘겨 버리는 것입니다. 정규식에서는 몇몇 기호가 특별한 뜻을 갖습니다. 마침표(.)는 ‘아무 글자나’, 별표(*)는 ‘앞 것의 반복’, 괄호는 ‘묶음’입니다.
그래서 순진하게 만든 도구에서 “3.14”를 찾으면, 마침표가 ‘아무 글자나’로 해석되어 “3x14”, “3-14” 까지 함께 바뀝니다. 사용자는 단어 하나 고치려 했는데 문서 곳곳이 망가지는 것이죠.
찾을 말: 3.14
순진한 도구 → 3.14, 3x14, 3-14 … ('.' 이 아무 글자나)
이 도구 → 3.14 만 ('.' 을 글자 그대로)이 도구는 문자 그대로 모드를 기본으로 두고, 그 안에서 정규식 특수문자를 자동으로 이스케이프합니다. 정규식을 아는 사람만 스위치를 켜서 패턴의 힘을 씁니다. 힘이 필요 없는 다수를 함정에서 지키는 게 우선이라고 봤습니다.
바꿀 말의 ‘$’도 함정이다
찾을 말만 문제가 아닙니다. 치환 문자열에서도 ‘$’ 는 특별한 뜻을 갖습니다 — $1 은 ‘찾은 것 중 첫 번째 묶음’, $&는 ‘찾은 것 전체’입니다. 그래서 가격 “$100” 을 넣으려다 결과가 엉뚱하게 나오는 일이 생깁니다.
이 도구는 문자 그대로 모드에서 ‘$’를 자동으로 보호해 입력한 그대로 넣습니다. 반대로 정규식 모드에서는 $1 을 일부러 살려, 날짜 형식을 바꾸는 것 같은 일을 할 수 있게 합니다.
정규식: (\d{4})-(\d{2})-(\d{2})
바꿀 말: $1/$2/$3
2024-01-02 → 2024/01/02정규식이 실제로 빛나는 순간
정규식은 ‘정확한 글자’가 아니라 ‘패턴’을 찾을 때 필요합니다. 자주 쓰는 것 몇 가지만 알아도 충분합니다.
- 연속 공백을 하나로 — 찾을 말
+(공백과 +), 바꿀 말 공백 하나. 붙여넣기로 생긴 들쭉날쭉한 공백을 정리합니다. - 줄마다 접두어 붙이기 — 찾을 말
^(줄 시작), 바꿀 말 “- ”, 여러 줄 옵션 켜기. 목록을 마크다운 불릿으로 만듭니다. - 숫자만 지우기 — 찾을 말
\d+, 바꿀 말 비우기. - 형식 바꾸기 — 위의 날짜 예시처럼
$1로 찾은 조각을 다시 배치합니다.
여러 줄을 통째로 다룬다
브라우저 주소창이나 단순 입력칸과 달리, 이 도구는 붙여넣은 문서 전체를 한 번에 처리합니다. 그래서 수백 줄에서 특정 단어를 모두 바꾸거나, 각 줄의 앞뒤를 손보는 일에 맞습니다. 결과는 바뀐 횟수와 함께 보여 주므로, 예상한 만큼 바뀌었는지 눈으로 확인하고 복사하면 됩니다.
한 가지만 기억하세요 — ‘단어 단위’는 영문 기준입니다. 단어 경계(\b)가 영문·숫자·밑줄로 정의되어 한글 사이에서는 걸리지 않습니다. 한글에서 낱말을 구분해 바꾸려면 앞뒤 공백을 찾을 말에 넣거나 정규식을 쓰세요.
정리하면
- 기본은 문자 그대로. 특수문자를 자동으로 이스케이프해 입력한 글자만 정확히 찾습니다.
- 정규식은 스위치로. 패턴 검색과
$1되참조가 필요할 때만 켜세요. 틀린 정규식은 오류로 알려 주고 원문을 지킵니다. - 단어 단위는 영문용. 한글에는 공백이나 정규식을 쓰세요.
자주 묻는 질문
- 정규식을 몰라도 쓸 수 있나요?
- 네. 기본은 '문자 그대로 찾기'라, 찾을 말과 바꿀 말을 그냥 입력하면 됩니다. 정규식 스위치를 켰을 때만 패턴으로 해석합니다. 문자 그대로 모드에서는 마침표·괄호 같은 기호도 그냥 그 글자로 찾으니 안심하고 쓰세요.
- '3.14'를 찾았더니 엉뚱한 것도 바뀌지 않나요?
- 문자 그대로 모드에서는 안 그렇습니다. 정규식에서 마침표(.)는 '아무 글자나'를 뜻하지만, 이 도구는 문자 그대로 모드에서 그런 특수문자를 자동으로 이스케이프해 글자 그대로 찾습니다. 그래서 '3.14'는 '3x14'에 걸리지 않고 정확히 '3.14'만 찾습니다.
- 바꿀 말에 $ 기호를 넣으면 이상해집니다.
- 문자 그대로 모드에서는 이상해지지 않습니다. 프로그래밍에서 $1, $& 는 특수한 뜻이 있어서, 순진하게 처리하면 '$100'이 깨질 수 있습니다. 이 도구는 문자 그대로 모드에서 $ 를 자동으로 보호해 입력한 그대로 넣습니다. 반대로 정규식 모드에서는 $1(첫 번째 그룹)을 일부러 살립니다.
- '단어 단위'가 한글에는 안 걸려요.
- 맞습니다. 단어 단위는 단어 경계(\b)를 이용하는데, 이 경계는 영문·숫자·밑줄을 기준으로 정의되어 한글 사이에서는 잡히지 않습니다. 영문 코드에서 'cat'을 'category'와 구분해 바꿀 때는 유용하지만, 한글에서는 단어 단위 대신 앞뒤 공백을 찾을 말에 포함하거나 정규식을 쓰세요.
- 정규식이 틀리면 어떻게 되나요?
- 화면이 죽지 않고, 무엇이 잘못됐는지 메시지로 알려 줍니다. 예를 들어 괄호를 안 닫으면 오류를 표시하고 원문은 그대로 둡니다. 고쳐서 유효한 정규식이 되는 순간 다시 동작합니다.
- 입력한 글이 서버로 전송되나요?
- 아닙니다. 찾기·바꾸기는 전부 브라우저 안에서 끝나고, 입력한 글은 어디로도 전송되거나 저장되지 않습니다.