Paradox Simulation

728x90
반응형

 

앞선 글에서는 Java에서 정규식을 사용하는 방법과 간단한 예시를 살펴보았습니다.
이번 글에서는 Java에서 정규식을 사용하여 입력값의 유효성을 검사하는 방법에 대해 알아보겠습니다.

입력값의 유효성을 검사하기 위해서는 검사할 대상의 형식에 따라 적절한 정규식을 작성해야 합니다.
이메일 주소나 전화번호와 같은 형식이 정해져 있는 경우, 해당 형식에 맞는 정규식을 작성하여 검사할 수 있습니다.
또한, 입력값이 숫자인지, 알파벳인지, 혹은 특수문자인지 등을 검사하는데에도 정규식을 사용할 수 있습니다.

다음은 전화번호 유효성 검사를 위한 정규식 예시입니다.

public static boolean isValidEmail(String email) {
    String regex = "^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$";
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(email);
    return matcher.matches();
}

위 코드는 String 타입의 email 변수에 저장된 이메일 주소가 유효한 형식인지 검증합니다.
검증 결과는 boolean 타입으로 반환됩니다.

^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$는 이메일 주소의 형식을 나타내는 정규식입니다.
이메일 주소는 @ 문자를 기준으로 로컬 파트와 도메인 파트로 나누어지며, 로컬 파트와 도메인 파트는 각각 특정한 규칙을 따릅니다.
따라서 위 정규식은 로컬 파트와 도메인 파트의 형식을 검증합니다.

^[A-Za-z0-9+_.-]+는 로컬 파트를 나타내는 패턴으로, 알파벳 대소문자와 숫자, 특수문자(+, ., -, _)로 이루어진 문자열을 의미합니다.
@ 다음의 [A-Za-z0-9.-]+\\.는 도메인 파트의 첫 번째 부분을 나타내며, 알파벳 대소문자와 숫자, 마침표(.) 및 하이픈(-)으로 이루어진 문자열을 의미합니다.
\\.[A-Za-z]{2,}$는 도메인 파트의 두 번째 부분을 나타내며, 마침표(.)와 알파벳 대소문자로 이루어진 문자열 중 최소 2글자 이상이어야 합니다.

다음은 전화번호를 검사하는 정규식입니다.

 

public static boolean isValidPhoneNumber(String phoneNumber) {
    String regex = "^01(?:0|1|[6-9])-(?:\\d{3}|\\d{4})-\\d{4}$";
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(phoneNumber);
    return matcher.matches();
}

위 코드는 String 타입의 phoneNumber 변수에 저장된 전화번호가 유효한 형식인지 검증합니다.
검증 결과는 boolean 타입으로 반환됩니다.

^01(?:0|1|[6-9])-(?:\\d{3}|\\d{4})-\\d{4}$는 전화번호의 형식을 나타내는 정규식입니다.
전화번호는 -를 기준으로 국번과 전화번호 부분으로 나뉘며, 국번과 전화번호 부분은 각각 특정한 규칙을 따릅니다.
따라서 위 정규식은 국번과 전화번호 부분의 형식을 검증합니다.

^01(?:0|1|[6-9])는 국번을 나타내는 패턴으로, 01로 시작하는 문자열 다음에 0, 1, 또는 6에서 9까지의 숫자가 오는 것을 의미합니다.
(?:\\d{3}|\\d{4})는 전화번호 부분 중 앞 부분을 나타내며, 3자리 또는 4자리의 숫자로 이루어진 문자열 중 하나여야 합니다.
-\\d{4}는 전화번호 부분 중 뒷 부분을 나타내며, - 다음에는 4자리의 숫자가 오는 것을 의미합니다.

위의 예시를 보면, 각각의 검증 대상에 맞게 적절한 정규식을 작성하여 사용하는 것이 중요하다는 것을 알 수 있습니다.
정규식을 사용하여 입력값의 유효성을 검사하면, 입력값이 원하는 형식에 맞지 않을 경우 적절한 메시지를 출력하거나, 다른 작업을 수행하는 등의 처리를 할 수 있습니다.

 

결론

이번 글에서는 Java에서 정규식을 사용하여 입력값의 유효성을 검사하는 방법에 대해 알아보았습니다.
검사 대상에 따라 적절한 정규식을 작성하여, 입력값이 원하는 형식에 맞지 않을 경우 적절한 처리를 할 수 있습니다.
정규식은 복잡한 패턴 검색 및 문자열 가공 등 다양한 용도로 사용될 수 있기 때문에, 이를 잘 활용하는 것은 프로그래밍에서 중요한 요소 중 하나입니다.

정규식을 사용하여 입력값을 검사하는 방법에 대해 알아보았으나, 정규식을 잘 활용하기 위해서는 그에 대한 이해도와 경험이 필요합니다.
따라서, 다양한 예시와 문제를 풀며 정규식을 익혀보는 것이 좋습니다.

이상으로 Java에서 정규식을 사용하여 입력값의 유효성을 검사하는 방법에 대해 알아보았습니다.
앞으로도 다양한 프로그래밍 문제를 해결하는 데에 정규식을 적극적으로 활용해보시기 바랍니다.

728x90
반응형
250x250
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band