본문 바로가기
개발 Story/Java

[Java] 정규표현식(RegExp)이란?

by Gyun's 2023. 11. 14.

 

 

Java 정규표현식: 문자열의 강력한 처리 도구

여행하는 개발자 Java 정규표현식(RegExp)

정규표현식이란?

정규표현식은 문자열에서 특정 패턴을 찾거나 조작하기 위한 강력한 도구로, Java에서는 java.util.regex 패키지를 통해 지원됩니다. 이를 통해 문자열 검색, 대체, 추출 등 다양한 작업을 수행할 수 있습니다.

상세내용

정규표현식은 문자열의 패턴을 정의하고, 이에 맞게 검색하거나 조작하는데 사용됩니다. 주로 문자열 검증, 데이터 추출, 대체 등의 작업에 활용됩니다. 정규표현식은 간결하면서도 강력한 패턴 매칭 기능을 제공하여 복잡한 문자열 처리를 효과적으로 수행할 수 있습니다.

간단예제

다음은 간단한 예제로서 전화번호에서 숫자만 추출하는 경우를 보여줍니다.


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExample {
    public static void main(String[] args) {
        String phoneNumber = "전화번호: 010-1234-5678";

        // 숫자 추출 패턴
        String numberPattern = "\\d+";

        // 패턴 컴파일
        Pattern pattern = Pattern.compile(numberPattern);
        Matcher matcher = pattern.matcher(phoneNumber);

        // 일치하는 패턴 찾기
        while (matcher.find()) {
            System.out.println("추출된 숫자: " + matcher.group());
        }
    }
}
        

심화예제

심화 예제로서 이메일 주소의 유효성을 검사하는 경우를 살펴봅시다.


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailValidationExample {
    public static void main(String[] args) {
        String email = "user@example.com";

        // 이메일 주소 유효성 검사 패턴
        String emailPattern = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$";

        // 패턴 컴파일
        Pattern pattern = Pattern.compile(emailPattern);
        Matcher matcher = pattern.matcher(email);

        // 유효성 검사
        if (matcher.matches()) {
            System.out.println("유효한 이메일 주소입니다.");
        } else {
            System.out.println("유효하지 않은 이메일 주소입니다.");
        }
    }
}
        

정규식 사용의 이점

정규표현식은 문자열 처리에서 높은 유연성을 제공하며, 특히 복잡한 패턴을 간결하게 표현할 수 있습니다. 이를 통해 코드의 가독성을 높이고, 문자열 처리 작업을 효율적으로 수행할 수 있습니다.

결론

Java의 정규표현식은 강력한 문자열 처리 도구로, 다양한 상황에서 유용하게 활용됩니다. 정확하고 효과적인 패턴을 활용하여 문자열을 다루는 데 익숙해지면, 코드의 가독성과 유지보수성을 높일 수 있습니다.

'개발 Story > Java' 카테고리의 다른 글

[Java] 람다식(Lambda Expression)이란?  (0) 2023.11.14