[java] 함수형 인터페이스를 사용하여 정규 표현식을 활용하는 방법은 어떻게 되나요?

함수형 인터페이스를 사용하여 정규 표현식을 활용하는 방법은 간단합니다. Java에서는 java.util.function.Predicate 인터페이스가 정규 표현식을 처리하는 데 유용합니다.

먼저, 정규 표현식을 만족하는 조건을 만족하는지 검사하는 함수형 인터페이스를 만들어야 합니다. 이를 위해 Predicate를 사용합니다. Predicatetest() 메서드를 포함하고 있는 함수형 인터페이스이며, 입력 값을 받아 truefalse를 반환합니다.

아래는 정규 표현식을 사용하여 이메일 주소가 유효한지를 검사하는 예제입니다.

import java.util.function.Predicate;

public class RegexExample {
    public static void main(String[] args) {
        String emailRegex = "[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z]{2,3}";

        Predicate<String> emailValidator = email -> email.matches(emailRegex);

        String email = "example@gmail.com";
        if (emailValidator.test(email)) {
            System.out.println("유효한 이메일입니다.");
        } else {
            System.out.println("유효하지 않은 이메일입니다.");
        }
    }
}

위 예제에서 emailRegex는 이메일 주소가 유효한지 검사하기 위한 정규 표현식입니다. emailValidatorPredicate<String> 인스턴스로, 이메일 주소가 정규 표현식과 일치하는지 확인하는 람다 표현식으로 초기화됩니다.

emailValidator.test(email) 구문은 emailValidator를 사용하여 email이 정규 표현식과 일치하는지를 검사합니다. 결과에 따라 유효한 이메일인지 아닌지를 출력합니다.

이와 같은 방식으로 함수형 인터페이스를 사용하여 정규 표현식을 활용할 수 있습니다.


참고 문서: