블로그로 돌아가기
regex 2025-01-25

개발자를 위한 정규표현식 치트 시트

일반적인 패턴, 구문, 실제 예제가 포함된 정규표현식 실용 참고 가이드입니다.

정규표현식(regex)은 텍스트를 매칭, 검색, 조작하기 위한 강력한 패턴입니다. 이 치트 시트는 실용적인 예제와 함께 가장 자주 사용되는 정규식 기능을 다룹니다.

기본 구문

패턴설명예

|-----|-----|---|

.줄바꿈을 제외한 모든 문자a.c → "abc", "a1c" \d모든 숫자 (0-9)\d{3} → "123" \w단어 문자\w+ → "hello_123" \s공백 문자\s+ → 공백, 탭 ^문자열 시작^Hello $문자열 끝world$

수량자

패턴설명

|-----|-----|

*0개 이상 +1개 이상 ?0개 또는 1개 {n}정확히 n번 {n,m}n에서 m번

자주 쓰는 패턴

이메일 검증

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

비밀번호 강도

최소 8자, 대문자, 소문자, 숫자, 특수문자 각 1개:

^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[@$!%?&])[A-Za-z\d@$!%?&]{8,}$

날짜 (YYYY-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

그룹과 전방탐색

캡처 그룹

(\d{4})-(\d{2})-(\d{2})

전방탐색과 후방탐색

(?=.*\d)      // 긍정 전방탐색

(?!.*\d) // 부정 전방탐색

성능 팁

1. 구체적으로: [0-9].*\d보다 빠릅니다

2. 재앙적 백트래킹 방지: 원자 그룹 사용

3. 가능하면 앵커링: ^pattern$이 더 빠릅니다

4. 문자 클래스 선호: [aeiou](a|e|i|o|u)보다 좋습니다

정규식 테스터 도구로 정규표현식을 테스트하세요.