반응형
정규표현식은 다양한 패턴 매칭 작업에서 자주 사용됩니다. 아래는 자주 사용하는 정규표현식의 예시들입니다.
1. 기본 정규표현식 예시
- 숫자만 포함하는 문자열: ^\d+$
- 예: "12345"는 매칭됨, "123a"는 매칭 안 됨.
- 알파벳만 포함하는 문자열: ^[a-zA-Z]+$
- 예: "Hello"는 매칭됨, "Hello123"은 매칭 안 됨.
- 알파벳과 숫자만 포함하는 문자열: ^[a-zA-Z0-9]+$
- 예: "Hello123"는 매칭됨, "Hello 123!"는 매칭 안 됨.
- 특정 길이의 숫자만 포함하는 문자열 (예: 5자리): ^\d{5}$
- 예: "12345"는 매칭됨, "1234"는 매칭 안 됨.
2. 패스워드 유효성 검사
- 알파벳, 숫자, 특수문자 포함, 8~15자리: ^(?=.*[a-zA-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,15}$
- 예: "Password1!"는 매칭됨, "pass123"는 매칭 안 됨.
3. 이메일 주소 형식 확인
- 이메일 주소: ^[\w.-]+@[a-zA-Z\d.-]+\.[a-zA-Z]{2,6}$
- 예: "user@example.com"는 매칭됨, "user@@example..com"은 매칭 안 됨.
4. 전화번호 형식
- 국내 전화번호 (010-XXXX-XXXX 형태): ^01[0-9]-\d{4}-\d{4}$
- 예: "010-1234-5678"는 매칭됨, "123-1234-5678"은 매칭 안 됨.
- 국제 전화번호 (+XX-XXXX-XXXX 형태): ^\+\d{2}-\d{3,4}-\d{4}$
- 예: "+82-10-1234-5678"는 매칭됨, "82-010-1234-5678"은 매칭 안 됨.
5. URL 유효성 검사
- URL: ^(http|https)://[\w.-]+\.[a-zA-Z]{2,6}(/.*)?$
- 예: "https://www.example.com"는 매칭됨, "ftp://example.com"은 매칭 안 됨.
6. 날짜 형식
- YYYY-MM-DD 형식의 날짜: ^\d{4}-\d{2}-\d{2}$
- 예: "2023-11-11"은 매칭됨, "11-11-2023"은 매칭 안 됨.
- MM/DD/YYYY 형식의 날짜: ^(0[1-9]|1[0-2])/(0[1-9]|[12]\d|3[01])/\d{4}$
- 예: "12/25/2023"는 매칭됨, "25/12/2023"은 매칭 안 됨.
7. IP 주소
- IPv4 주소: ^(25[0-5]|2[0-4]\d|1\d{2}|\d{1,2})(\.(25[0-5]|2[0-4]\d|1\d{2}|\d{1,2})){3}$
- 예: "192.168.1.1"은 매칭됨, "999.999.999.999"는 매칭 안 됨.
8. 공백 포함 문자열 검사
- 공백으로 시작하거나 끝나지 않는 문자열: ^\S.*\S$
- 예: "Hello World"는 매칭됨, " Hello World "는 매칭 안 됨.
- 여러 개의 공백 제거 (공백 하나로 축소): \s+
- 예: "Hello World"에서 "Hello World"로 변환 가능.
9. 특수 문자 포함 여부
- 특수 문자 포함 확인: [!@#$%^&*(),.?":{}|<>]
- 예: "Hello@World"는 매칭됨, "HelloWorld"는 매칭 안 됨.
10. 한국어 문자 포함 여부
- 한글만 포함하는 문자열: ^[가-힣]+$
- 예: "안녕하세요"는 매칭됨, "Hello"는 매칭 안 됨.
- 한글과 공백 포함하는 문자열: ^[가-힣\s]+$
- 예: "안녕하세요 여러분"은 매칭됨, "Hello 안녕하세요"는 매칭 안 됨.
11. 특정 문자로 시작/끝나는지 검사
- 특정 문자로 시작 (예: H로 시작): ^H.*
- 예: "Hello"는 매칭됨, "hello"는 매칭 안 됨.
- 특정 문자로 끝 (예: d로 끝): .*d$
- 예: "Hello world"는 매칭됨, "Hello"는 매칭 안 됨.
이런 정규표현식을 통해 Java, Python, JavaScript 등 여러 언어에서 문자열을 검증하고 패턴을 검사할 수 있습니다. 필요한 상황에 맞게 패턴을 조정하여 사용할 수 있습니다.
반응형