자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에
정규식은 텍스트에서 패턴을 찾아내고 검증하며 필요한 부분을 추출할 때 가장 효율적인 도구 중 하나입니다.
이 글, 자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에에서는 자바의 java.util.regex를 기반으로
실제로 자주 쓰이는 패턴을 어떻게 정의하고 적용하는지 단계별로 설명합니다.
초반에는 Pattern과 Matcher의 핵심 개념을 짚고, 이후 숫자·이메일·전화번호 같은 실무 예제를 통해
바로 활용 가능한 코드를 제공합니다. 자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에와 함께 실전 감각을 키워보세요.
1. Pattern과 Matcher 기본 개념
자바에서 정규식을 다룰 때 핵심이 되는 두 클래스는 Pattern과 Matcher입니다.
간단히 말해 Pattern은 정규식 자체(컴파일된 형태)를 나타내고, Matcher는 특정 입력 문자열에 그 패턴을 적용해 결과를 찾는 역할을 합니다.
Pattern: 정규식 패턴을 표현하고 컴파일한 객체Matcher: 입력 문자열에서 패턴 매칭을 수행하여 매치 결과를 반환하는 객체
한 번 컴파일한 Pattern을 여러 Matcher에서 재사용하면 성능상 이득이 있고, 같은 패턴으로 다양한 입력을 효율적으로 검사할 수 있습니다.
자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에에서는 이러한 기본 흐름을 바탕으로 실무 예시를 제공합니다.
2. 정규식 패턴 정의와 Pattern 생성
정규식은 문자열 리터럴로 정의한 뒤 Pattern.compile()로 컴파일합니다.
아래 예제는 연속된 숫자를 찾기 위한 기본 패턴으로, 자바 문자열에서 백슬래시를 이스케이프해야 하는 점을 보여줍니다.
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String[] args) {
String patternString = "\\d+"; // 하나 이상의 숫자를 찾는 패턴
Pattern pattern = Pattern.compile(patternString);
}
}
예제의 "\\d+"는 숫자(\d)가 하나 이상 연속된 부분을 의미합니다.
자바 문자열로 작성할 때는 백슬래시를 두 번 써야 하므로 이 점을 꼭 기억하세요.
Pattern.compile(patternString, Pattern.CASE_INSENSITIVE)처럼 플래그를 함께 전달하면 됩니다.
3. Matcher를 사용한 문자열 검색
컴파일한 Pattern으로부터 matcher()를 호출하면 입력 문자열에 대한 Matcher를 얻습니다.
그 다음 find()와 group()을 조합해 문자열에서 원하는 부분을 반복해서 추출할 수 있습니다.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexSearchExample {
public static void main(String[] args) {
String patternString = "\\d+"; // 숫자를 찾는 패턴
Pattern pattern = Pattern.compile(patternString);
String text = "This is a sample text with numbers: 12345 and symbols like $%@";
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
String match = matcher.group(); // 매치된 문자열
System.out.println("매치 발견: " + match);
}
}
}
요약하면, matcher.find()는 다음 일치 위치로 이동하고,
matcher.group()은 현재 매치된 문자열을 반환합니다.
이 과정을 반복하면 텍스트 전체에서 패턴을 순차적으로 추출할 수 있습니다.
4. 다양한 정규식 패턴 활용
실제 애플리케이션에서는 숫자·이메일·전화번호 검증, HTML 태그 제거 등 다양한 문자열 작업이 필요합니다. 여기서는 자주 쓰이는 패턴 예제를 모아두었으므로, 자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에의 예제를 참고해 바로 적용해 보세요.
4.1 자주 사용하는 정규식 패턴 예제
-
이메일 주소 찾기
\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}\\b -
HTML 태그 제거
<[^>]+> -
전화번호 찾기 (예: 010-1234-5678 형태)
\\d{3}-\\d{3,4}-\\d{4}
4.2 정규식을 활용한 간단한 이메일 검색 예제
String emailPattern = "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}\\b";
Pattern pattern = Pattern.compile(emailPattern);
String text = "문의: user@example.com 으로 연락 주세요.";
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println("이메일 발견: " + matcher.group());
}
위 예제처럼 패턴을 명확하게 정의해두면 실제 텍스트에서 이메일을 안정적으로 찾아낼 수 있습니다. 자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에에는 이런 실용 패턴을 모아 두었으니 필요할 때 재사용하면 편리합니다.
5. 정리 및 활용 팁
이 글에서는 java.util.regex를 이용해 정규식 패턴을 정의하고,
Pattern과 Matcher로 문자열을 검색하는 기본 흐름을 설명했습니다.
Pattern을 한 번 컴파일해 두고 재사용하면 성능과 가독성 모두 좋아집니다.Matcher의find()와group()을 통해 원하는 텍스트를 반복 추출할 수 있습니다.- 숫자·이메일·전화번호 같은 자주 쓰이는 패턴은 테스트 케이스와 함께 작은 패턴 라이브러리로 관리하세요.
정규식은 익숙해지면 문자열 관련 코드의 분량을 크게 줄여줍니다. 처음엔 복잡해 보여도, 자주 쓰이는 패턴을 하나씩 모아두면 실무에서 매우 유용합니다. 자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에를 참고해 패턴을 정리하고, 테스트로 동작을 확인해 보세요.
© 2025 자바 정규식 문자열 검색 가이드. 모든 권리 보유. 자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에
함께 보면 좋은 엔터프라이즈 사례
🚀 이 주제, 우리 서비스에 어떻게 적용할까요?
자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에를 실제 서비스와 조직에 녹여보고 싶다면, 현재 아키텍처와 운영 방식을 한 번 점검해 보는 것부터 시작해 보세요. 팀 위키나 기술 블로그, 사내 스터디 주제로도 아주 좋습니다.
이 글이 도움이 됐다면, 비슷한 엔터프라이즈 사례 글들도 함께 살펴보면서 우리 조직에 맞는 운영 상용구를 정의해 보세요.
댓글
댓글 쓰기