JAVA IP 주소 범위 체크 정규 표현식 예제

IP 주소가 0.0.0.0~255.255.255.255 까지 범위 내에 있는지 정규 표현식으로 체크하는 예제를 보겠습니다.

 

IP 주소 범위 체크 예제

public class IPv4Test {

	public static void main(String[] args) {

		String strIP = "127.0.0.1";

		if(Pattern.matches("((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])([.](?!$)|$)){4}", str)){
			System.out.println("IP 주소가 범위 안에 있습니다."));
		}else{
			System.out.println("IP 주소가 범위 밖에 있습니다."));
		}
	}
}

사용한 정규 표현식 다음과 같습니다.

((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])([.](?!$)|$)){4}

 

입력한 값이 0.0.0.0~255.255.255.255 범위 안에 있으면 True, 범위 밖이면 False를 반환합니다.

체크를 다른 곳에서도 사용해야 한다면 함수로 만들어서 사용하면 편리합니다.

 

예제

public class IPv4Test {

	public static void main(String[] args) {

		String strIPok = "127.0.0.1";
		String strIPng = "127.0.256.1";

		if(isIPv4(strIPok)){
			System.out.println("IP 주소가 범위 안에 있습니다."));
		}else{
			System.out.println("IP 주소가 범위 밖에 있습니다."));
		}

		if(isIPv4(strIPng)){
			System.out.println("IP 주소가 범위 안에 있습니다."));
		}else{
			System.out.println("IP 주소가 범위 밖에 있습니다."));
		}

	}

	public static boolean isIPv4(String str) {
		return Pattern.matches("((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])([.](?!$)|$)){4}", str);
	}
}

 

정리

정규 표현식을 사용하여 IP 주소가 범위 내에 있는지 체크하는 예제를 만들어봤습니다.

IP 주소 양식을 체크하는 방법은 여러 가지가 있지만 범용적으로 사용해야 하는 경우에는 정규 표현식으로 작성해주는 것이 편리할 수도 있습니다.

댓글