正则表达式匹配IP地址
前言:
IPv4地址可以用表示32位整数值的任何符号表示。它们通常用点十进制表示法编写 ,它由地址的四个八位字节组成,以十进制数字表示并用.点分隔。
例如,四点IP地址172.16.255.1
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author dhing
*/
public class Ip {
private static String pattern = "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." + "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\."
+ "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." + "([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";
private final static Pattern regexPattern = Pattern.compile(pattern);
public static boolean isValidIp(final String ip) {
Matcher matcher = regexPattern.matcher(ip);
return matcher.matches();
}
public static void main(String[] args) {
System.out.println(isValidIp("000.12.12.034")); //true
System.out.println(isValidIp("121.234.12.21"));//true
System.out.println(isValidIp("23.45.12.65"));//true
System.out.println(isValidIp("0.1.2.3"));//true
System.out.println(isValidIp("666.666.23.23"));//false
System.out.println(isValidIp(".12.32.232.23"));//false
}
}