[java] 함수형 인터페이스를 사용하여 정규 표현식을 활용하는 방법은 어떻게 되나요?
함수형 인터페이스를 사용하여 정규 표현식을 활용하는 방법은 간단합니다. Java에서는 java.util.function.Predicate
인터페이스가 정규 표현식을 처리하는 데 유용합니다.
먼저, 정규 표현식을 만족하는 조건을 만족하는지 검사하는 함수형 인터페이스를 만들어야 합니다. 이를 위해 Predicate
를 사용합니다. Predicate
는 test()
메서드를 포함하고 있는 함수형 인터페이스이며, 입력 값을 받아 true
나 false
를 반환합니다.
아래는 정규 표현식을 사용하여 이메일 주소가 유효한지를 검사하는 예제입니다.
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
는 이메일 주소가 유효한지 검사하기 위한 정규 표현식입니다. emailValidator
는 Predicate<String>
인스턴스로, 이메일 주소가 정규 표현식과 일치하는지 확인하는 람다 표현식으로 초기화됩니다.
emailValidator.test(email)
구문은 emailValidator
를 사용하여 email
이 정규 표현식과 일치하는지를 검사합니다. 결과에 따라 유효한 이메일인지 아닌지를 출력합니다.
이와 같은 방식으로 함수형 인터페이스를 사용하여 정규 표현식을 활용할 수 있습니다.
참고 문서: