PHpullh
학습 라이브러리/Java/정규식(Pattern/Matcher)

JAVA · 기초 문법

정규식(Pattern/Matcher)

Java의 정규 표현식 API와 주요 패턴을 다룹니다.

기초 문법중급regex정규식PatternMatcher

핵심 설명

Java의 정규 표현식 API와 주요 패턴을 다룹니다.

Java code

import java.util.regex.*;

public class RegexDemo {
    public static void main(String[] args) {
        // 기본 매칭
        String email = "user@example.com";
        boolean valid = email.matches(
            "[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+");
        System.out.println("이메일 유효: " + valid);

        // Pattern + Matcher (재사용)
        Pattern p = Pattern.compile("(\\d{3})-(\\d{4})");
        Matcher m = p.matcher("전화: 010-1234, 020-5678");

        while (m.find()) {
            System.out.printf("전체: %s, 앞: %s, 뒤: %s%n",
                m.group(), m.group(1), m.group(2));
        }

        // 치환
        String result = "Hello   World".replaceAll("\\s+", " ");
        System.out.println(result); // "Hello World"

        // Named group (Java 7+)
        Pattern np = Pattern.compile(
            "(?<year>\\d{4})-(?<month>\\d{2})");
        Matcher nm = np.matcher("2024-03");
        if (nm.matches()) {
            System.out.println(nm.group("year"));  // 2024
        }
    }
}

학습 팁

Pattern.compile()은 비용이 큰 연산입니다. 반복 사용 시 static final로 한 번만 컴파일하세요.

주의할 점

Java 문자열에서 백슬래시는 이중 이스케이프가 필요합니다. 정규식 \d는 자바에서 "\\d"로 씁니다.

자주 묻는 질문

정규식(Pattern/Matcher)란 무엇인가요?

Java의 정규 표현식 API와 주요 패턴을 다룹니다.

정규식(Pattern/Matcher) 학습 시 주의할 점은 무엇인가요?

Java 문자열에서 백슬래시는 이중 이스케이프가 필요합니다. 정규식 \d 는 자바에서 "\\d" 로 씁니다.