이 도구가 해결하는 일

정규식은 "짜는 시간"보다 "왜 안 맞는지 확인하는 시간"이 깁니다. 패턴을 고칠 때마다 대상 문자열에서 어디가 일치하는지 실시간으로 강조되고, 캡처 그룹별 값이 표로 나오니 시행착오가 빨라집니다. 치환 미리보기로 replace 결과도 확인할 수 있습니다.

검색해서 복사해 온 패턴이 내 데이터에 안 맞는 경험, 누구나 있습니다. 패턴을 "내 데이터로" 검증하는 습관이 이 도구의 존재 이유입니다.

실무 프리셋 — 자주 찾는 패턴 미리보기

매번 검색하게 되는 패턴들을 프리셋으로 담아뒀습니다. 클릭 한 번으로 테스터에 로드되어 바로 내 데이터로 검증할 수 있습니다. 대표 몇 가지:

용도패턴 (요지)주의점
휴대전화01[016789]-?\d{3,4}-?\d{4}하이픈 유무 혼재를 -?로 흡수
날짜 yyyy-mm-dd\d{4}-\d{2}-\d{2}형식 검사일 뿐 2월 30일도 통과 — 값 검증은 별도
숫자만^\d+$^…$ 없으면 "abc123"도 부분 일치
한글만^[가-힣]+$자모(ㄱ·ㅏ)는 제외 — 필요하면 범위 추가
사업자번호\d{3}-\d{2}-\d{5}3-2-5 형식 검사 — 체크섬 검증은 아님

전체 프리셋 14선과 문법 조각(전방탐색·경계·플래그)은 도구 안 치트시트에서 볼 수 있습니다.

자주 잊는 문법 조각

조각
^ $줄의 시작·끝전체 일치 검사에 필수 — 없으면 부분 일치로 통과
\b단어 경계cat을 찾되 category의 cat은 제외
[^…]부정 문자 클래스쉼표가 아닌 글자들 — CSV 필드 추출
{2,4}2~4회 반복자릿수 범위 검사
(?=…)전방탐색(소비 없음)"원" 앞의 숫자만 잡기
a|b대안png 또는 jpg/jpeg 확장자

실무 시나리오

예시 — 그룹 캡처

패턴: (\d{3})-(\d{4})-(\d{4})
대상: 문의는 010-1234-5678 로
→ 일치 1건 · 그룹1 010 · 그룹2 1234 · 그룹3 5678

자주 겪는 함정

자주 묻는 질문

어떤 정규식 문법 기준인가요?
브라우저 내장 JavaScript RegExp 그대로입니다 — 서비스 프론트엔드와 동일하게 동작합니다. Java 등 다른 엔진과는 일부 문법이 다를 수 있습니다.
플래그는 어떻게 주나요?
g(전체)·i(대소문자 무시)·m(여러 줄) 등을 토글로 켭니다. /pattern/gi 리터럴을 통째로 붙여넣으면 패턴과 플래그를 자동 분리합니다.
치트시트의 개인정보 패턴은 실데이터인가요?
아니요, 전부 형식만 맞춘 가상 예시입니다. 검증도 브라우저 안에서만 이루어집니다.
일치가 너무 많으면 어떻게 되나요?
화면 보호를 위해 표시 상한을 두고 상한 도달을 알려줍니다. 패턴을 더 좁혀 검증하세요.
치환 미리보기에서 $1은 뭔가요?
캡처 그룹 참조입니다 — 치환식의 $1이 첫 그룹의 값으로 바뀝니다.
g 플래그를 안 켜면 어떻게 되나요?
첫 일치 하나만 찾고 멈춥니다. 전체 건수를 세거나 모두 치환하려면 g를 켜세요.
패턴을 넣었더니 화면이 느려져요.
중첩 수량자((a+)+ 류)는 입력에 따라 검사 시간이 폭증할 수 있습니다(백트래킹). 패턴을 단순화하거나 대상 문자열을 줄여 검증하세요.

함께 쓰는 도구

추출한 값 목록의 앞뒤 공백은 인코딩/변환의 공백 정리로 다듬고, 추출 결과를 JSON으로 묶을 때는 포맷터의 필드→JSON이 편합니다.

DoffKit(도프킷) — 개발자 텍스트·코드 툴킷

DoffKit(도프킷)은 개발자가 매일 반복하는 텍스트·코드 손작업을 한 화면에 모은 웹 툴킷입니다. JSON·SQL·XML 포맷터(XML은 문서·트리 뷰어 겸), 들여쓰기 정리, 느슨한 객체 정규화, 인코딩 변환과 암복호화, 텍스트 비교(Diff), 정규식 테스트, 케이스 변환, 해시·로직 지문, 스택트레이스 정리, URL 파싱까지 자주 쓰는 도구를 설치나 회원가입 없이 브라우저에서 바로 씁니다.

모든 계산과 변환은 접속한 기기(브라우저) 안에서 끝나며, 입력한 코드·데이터는 외부 서버로 전송되지 않습니다. 사내망·보안이 민감한 환경에서 온라인 포맷터에 코드를 붙여넣기 꺼려질 때를 위해 만들었습니다. 아래에서 각 도구의 쓰임과 자주 묻는 질문을 정리했습니다.

주요 기능

사용법

포맷터·들여쓰기

한 줄로 뭉친 JSON이나 SQL을 붙여넣으면 사람이 읽을 수 있게 정렬하고 구문을 색으로 구분합니다. XML은 포맷에 더해 문서 뷰 — 꺾쇠·태그 없이 제목·라벨:값·표로 읽는 화면 — 와 접기·검색이 되는 트리 뷰를 제공해, 서버 설정 파일처럼 긴 XML을 훑기 좋습니다. 필드→JSON 서브탭은 id·login처럼 필드 이름만 줄줄이 붙여넣으면 키를 채운 JSON 뼈대를 만들어 주고, 값은 표에서 채웁니다. 전문(고정길이) 모드로 바꾸면 레이아웃(이름·길이·타입)에 맞춰 문자는 공백, 숫자는 0으로 패딩한 TCP 전문을 자동 조립합니다 — 길이 기준은 EUC-KR·UTF-8 바이트, 문자 수 중에서 고릅니다. 느슨한 객체 탭은 따옴표가 빠진 키나 트레일링 콤마처럼 표준을 벗어난 데이터도 정규화해 줍니다.

인코딩·암복호화

Base64·URL 인코딩을 양방향으로 바꾸고, JWT 토큰을 사람이 읽을 수 있게 디코딩합니다. 암복호화는 브라우저 내장 Web Crypto 표준을 써서 키와 평문이 기기 밖으로 나가지 않습니다.

Diff 비교·정규식

두 텍스트나 코드의 바뀐 부분을 줄·글자 단위로 강조해 비교합니다. 정규식 테스터는 패턴과 대상 문자열을 넣으면 일치 위치를 실시간으로 보여주고, 자주 쓰는 패턴 치트시트를 제공합니다.

케이스·해시·스택트레이스·URL

변수명을 카멜/스네이크/케밥으로 바꾸고, 문자열의 SHA-2 해시와 코드의 로직 지문을 계산합니다. 지저분한 스택트레이스에서 원인 체인을 정리하고, URL의 쿼리 파라미터를 표로 풀어냅니다.

자주 묻는 질문

DoffKit은 무료인가요?

네, 모든 도구를 무료로 쓸 수 있습니다. 운영 비용은 페이지에 표시되는 광고로 충당합니다.

회원가입이나 설치가 필요한가요?

아니요. 브라우저로 페이지를 열면 바로 쓸 수 있고, 로그인이나 프로그램 설치가 필요 없습니다.

입력한 코드나 데이터가 서버로 전송되나요?

아니요. 포맷·비교·암복호화 등 모든 처리는 접속한 기기의 브라우저 안에서 이뤄지며, 입력한 내용은 외부 서버로 전송되지 않습니다.

인터넷 연결이 필요한가요?

페이지를 처음 여는 데는 인터넷이 필요합니다. 다만 도구의 계산·변환은 접속한 기기 안에서 처리되어 입력값이 외부로 나가지 않습니다.

어떤 정보가 저장되나요?

테마(다크/라이트)와 마지막으로 연 탭 같은 화면 설정만 브라우저 localStorage에 저장됩니다. 입력한 코드·텍스트 자체는 저장하지 않습니다.

광고와 쿠키는 어떻게 처리되나요?

Google 애드센스 광고가 표시될 수 있으며 광고 목적의 제3자 쿠키가 사용될 수 있습니다. 자세한 내용은 페이지 하단 "개인정보 안내"에서 확인할 수 있습니다.

도구별 페이지

도구 가이드·레퍼런스