🔍 정규식 테스터

정규식 패턴을 테스트하고 매칭 결과를 확인합니다

정규식(Regular Expression)이란?

왜 필요한가요?

정규식은 문자열에서 특정 패턴을 찾거나 검증하기 위한 강력한 도구입니다. 이메일 주소, 전화번호, URL 등의 형식을 검증하거나, 로그 파일에서 특정 패턴을 추출하거나, 텍스트를 치환할 때 사용됩니다. 프로그래밍 언어 대부분이 정규식을 지원하며, 한 번 작성한 패턴을 여러 언어에서 유사하게 사용할 수 있습니다.

언제 사용하나요?

  • 입력 검증: 이메일, 전화번호, 비밀번호 형식이 올바른지 확인
  • 데이터 추출: 로그 파일이나 텍스트에서 IP 주소, 날짜 등 추출
  • 텍스트 치환: 특정 패턴을 찾아 다른 문자열로 교체
  • 파싱: HTML, XML 등에서 태그나 속성 값 추출
  • URL 라우팅: 웹 프레임워크에서 URL 패턴 매칭

자주 사용하는 패턴 예시

이메일 주소

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

한국 전화번호

^01[0-9]-\d{3,4}-\d{4}$

URL

^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$

IPv4 주소

^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

주의사항

  • ReDoS 공격: 복잡한 정규식은 특정 입력에서 극도로 느려질 수 있습니다. 입력 길이 제한을 두세요.
  • 이스케이프: 특수문자(., *, +, ?, [, ], {, }, (, ), ^, $, |, \)는 \ 로 이스케이프해야 합니다.
  • 그리디 vs 비그리디: .*는 최대한 많이 매칭하고, .*?는 최소한만 매칭합니다.
  • 언어별 차이: JavaScript, Python, Java 등 언어마다 정규식 문법이 약간씩 다를 수 있습니다.
  • HTML 파싱: 복잡한 HTML은 정규식보다 DOM 파서를 사용하는 것이 좋습니다.

정규식 플래그

플래그설명예시
g전역 검색 (모든 매칭 찾기)/abc/g
i대소문자 구분 안 함/abc/i
m여러 줄 모드/^abc/m
s. 이 줄바꿈 포함/a.b/s

더 알아보기

Developer Tools

개발자를 위한 18가지 이상의 무료 온라인 도구를 제공합니다. Base64, JSON, JWT, 정규식 등 필수 개발 도구를 한 곳에서.

Developer Tools © 2025. All rights reserved.

모든 도구는 클라이언트 사이드에서만 작동하며, 입력 데이터는 서버로 전송되지 않습니다.