IP 를 엄격하게 구분 하 는 정규 표현 식

인터넷 에는 IP 의 정규 표현 식 이 많이 있 습 니 다. 자신 이 테스트 의 작은 예 를 몇 개 썼 습 니 다. 항상 bug 가 나 와 서 만 족 스 럽 지 못 하기 때문에 스스로 쓰 고 연 구 를 해 보 려 고 했 습 니 다. 마침내 성 공 했 습 니 다. 간단 합 니 다. 테스트 사례 가 있 습 니 다. 코드 는 다음 과 같 습 니 다.
package com.autonavi.regex;

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

public class TestRegex {
	public static boolean isIP(String ip) {
		String ipRegex = "(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9][0-9]|[0-9])\\.(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9][0-9]|[0-9])\\.(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9][0-9]|[0-9])\\.(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9][0-9]|[0-9])";
		Pattern pattern = Pattern.compile(ipRegex);
		Matcher matcher = pattern.matcher(ip);
		return matcher.matches();
	}

	public static void main(String[] args) {
		//true,  ,  true
		String ip1 = "192.168.1.1";
		if(isIP(ip1)) {
			System.out.println("IP1  !");
		} else {
			System.out.println("IP1  !");
		}
		
		//true,  ,  true
		String ip2 = "255.255.255.255";
		if(isIP(ip2)) {
			System.out.println("IP2  !");
		} else {
			System.out.println("IP2  !");
		}
		
		//false,  ,  false
		String ip3 = "256.168.1.1";
		if(isIP(ip3)) {
			System.out.println("IP3  !");
		} else {
			System.out.println("IP3  !");
		}
		
		//true,  ,  true
		String ip4 = "0.168.1.1";
		if(isIP(ip4)) {
			System.out.println("IP4  !");
		} else {
			System.out.println("IP4  !");
		}
		
		//true,  ,  false
		String ip5 = "00.168.1.1";
		if(isIP(ip5)) {
			System.out.println("IP5  !");
		} else {
			System.out.println("IP5  !");
		}
		
		//false,  ,  false
		String ip6 = "000.168.1.1";
		if(isIP(ip6)) {
			System.out.println("IP6  !");
		} else {
			System.out.println("IP6  !");
		}
		
		//true,  ,  false
		String ip7 = "01.100.100.100";
		if(isIP(ip7)) {
			System.out.println("IP7  !");
		} else {
			System.out.println("IP7  !");
		}
		
		//false,  ,,  false
		String ip8 = "001.100.100.100";
		if(isIP(ip8)) {
			System.out.println("IP8  !");
		} else {
			System.out.println("IP8  !");
		}
		
		//false,  ,  false
		String ip9 = "010.100.100.100";
		if(isIP(ip9)) {
			System.out.println("IP9  !");
		} else {
			System.out.println("IP9  !");
		}
		
		//false,  ,  false
		String ip10 = "-10.100.100.100";
		if(isIP(ip10)) {
			System.out.println("IP10  !");
		} else {
			System.out.println("IP10  !");
		}
		
	}
}

최종 결과 반환:
IP1  !
IP2  !
IP3  !
IP4  !
IP5  !
IP6  !
IP7  !
IP8  !
IP9  !
IP10  !

좋은 웹페이지 즐겨찾기