텍스트 · 2026년 7월 25일 · 읽는 시간 4분

정규식 짤 때마다 스택오버플로 뒤지다가 만든 정규식 생성 도우미

👉 정규식 생성 도우미 바로 가기

이메일 유효성 검사 정규식 하나 찾으러 갔다가 30분 만에 스택오버플로 탭이 12개 열려 있던 적 있음.

언제 필요한지

정규식이 필요한 상황은 생각보다 자주 온다:

  • 이메일 유효성 검사 → 입력값에 @가 있는지, 도메인 형식이 맞는지
  • 전화번호 패턴 → 010-XXXX-XXXX, 02-XXX-XXXX 등 다양한 형식 처리
  • URL 추출 → 긴 텍스트에서 링크만 골라낼 때
  • 특수문자 제거 → 사용자 입력에서 허용된 문자만 남기기
  • 날짜 형식 파싱 → YYYY-MM-DD, DD/MM/YYYY 등 혼재된 형식 처리
  • 패스워드 정책 → 영문+숫자+특수문자 조합 필수 검증
  • 로그 파싱 → 서버 로그에서 특정 패턴 추출
  • HTML 태그 제거 → 텍스트만 남기고 마크업 제거
  • 코드에서 패턴 치환 → VSCode 찾기/바꾸기에서 정규식 모드 활용

정규식을 "알 것 같은데 막상 쓰려면 헷갈리는" 상태로 알고 있는 개발자가 진짜 많음. 기본 패턴은 알아도 플래그, 그룹, 룩어헤드 같은 거 조합하다 보면 항상 막히는 부분이 생김.


기존 방법의 문제

  • 스택오버플로 검색 → 내 상황에 딱 맞는 답변 찾기가 어렵고, 답변마다 패턴이 달라서 어떤 게 맞는지 모름
  • ChatGPT한테 물어보기 → 정규식 설명은 해주는데 실제로 테스트해봐야 함, 틀리는 경우도 있음
  • regex101.com → 좋긴 한데 영어라서 처음엔 UI 파악하는 데 시간 걸림
  • 직접 짜기 → 오랜만에 쓰면 `\d`, `\w`, `+`, `*`, `?` 차이 매번 헷갈림
  • MDN 문서 → 레퍼런스 위주라 "이메일 검증 정규식 뭐야"에 바로 답 안 나옴
  • 복붙한 정규식이 뭘 하는지 모름 → 나중에 수정해야 할 때 손댈 수가 없음

제일 큰 문제는 "복붙은 했는데 이게 왜 동작하는지 모른다"는 상황. 엣지케이스 생기면 손댈 수가 없어짐.


그래서 직접 만들었음

만들고 싶은 패턴 설명하면 정규식 만들어주고, 바로 테스트까지 되게.

생성 기능:

  • 자주 쓰는 패턴 템플릿 → 이메일, URL, 전화번호, 날짜, 비밀번호 등 버튼 클릭 한 번
  • 자연어로 설명 → "숫자만 허용" 입력하면 정규식 생성
  • 옵션 조합 → 대소문자 구분 여부, 전체 매칭 vs 부분 매칭 등 체크박스로 설정
  • 플래그 설정 → g, i, m, s 플래그 선택 가능

테스트 기능:

  • 실시간 매칭 확인 → 테스트 문자열 입력하면 매칭 결과 즉시 표시
  • 매칭 하이라이트 → 어느 부분이 걸렸는지 색상으로 표시
  • 그룹 캡처 결과 → 캡처 그룹별로 뭐가 잡혔는지 확인
  • 여러 케이스 테스트 → 유효/무효 입력 예시 여러 개 한 번에 확인

설명 기능:

  • 패턴 분해 설명 → 각 문자/기호가 뭘 의미하는지 한글로 설명
  • 언어별 코드 스니펫 → JavaScript, Python, Java 등에서 쓰는 코드 형태로 출력
  • 복사 → 한 번에 클립보드 복사

실제로 써보니

좋은 점:

  • 실시간 테스트 → 짜면서 바로 결과 확인 가능, 스택오버플로 탭 열 필요 없음
  • 패턴 설명 → 복붙해도 뭘 하는지 알 수 있음, 나중에 수정도 됨
  • 템플릿 → 자주 쓰는 패턴은 버튼 하나로 끝남
  • 한글 설명 → 영어 문서 읽다 막히는 거 없음

한계:

  • 복잡한 룩어헤드/룩비하인드 조합 → 고급 패턴은 직접 작성 필요
  • 언어별 차이 → 언어마다 지원 문법이 조금 다른데 다 커버하진 않음
  • 정규식 이력 저장 없음 → 작성한 패턴 저장해두는 기능 없음

정규식 기호 빠른 참고

매번 헷갈리는 것들 요약:

  • . → 임의의 문자 한 개 (줄바꿈 제외)
  • * → 앞 문자 0번 이상 반복
  • + → 앞 문자 1번 이상 반복
  • ? → 앞 문자 0번 또는 1번 (선택적)
  • \d → 숫자 [0-9]
  • \w → 단어 문자 [a-zA-Z0-9_]
  • \s → 공백 문자 (스페이스, 탭, 줄바꿈)
  • ^ → 문자열 시작 (또는 문자 클래스 안에서 부정)
  • $ → 문자열 끝
  • () → 캡처 그룹
  • [] → 문자 클래스 (그 안의 문자 중 하나)
  • {n,m} → n번 이상 m번 이하 반복

이거 외워도 막상 조합하려면 헷갈림. 그래서 테스트 도구가 필요한 거임.


자주 쓰는 패턴 모음

이런 패턴들은 외우기보다 그냥 복붙해서 씀:

  • 이메일: ^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$
  • 한국 휴대폰: ^01[016789]-?\d{3,4}-?\d{4}$
  • URL: https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&\/=]*)
  • 날짜 (YYYY-MM-DD): ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
  • 숫자만: ^\d+$
  • 한글만: ^[가-힣]+$

복붙했는데 왜 동작하는지 궁금하면 도구에 붙여넣고 설명 기능 써보면 됨.


사용법

  1. 템플릿 선택 or 자연어로 패턴 설명 입력
  2. 생성된 정규식 확인
  3. 테스트 입력창에 샘플 텍스트 입력
  4. 매칭 결과 확인 (하이라이트로 표시)
  5. 원하는 언어의 코드 스니펫으로 복사

한 번 익히면 스택오버플로 탭 열 일이 반 이하로 줄어든다.


써보기

👉 정규식 생성 도우미 바로 가기

다음에 이메일 유효성 정규식 찾으러 스택오버플로 가기 전에 한번 써봐. 템플릿에 다 있음.


#정규식생성기 #regex #정규표현식 #개발도구 #유효성검사 #패턴매칭 #자바스크립트정규식

광고