题解 | #验证IP地址#
验证IP地址
http://www.nowcoder.com/practice/55fb3c68d08d46119f76ae2df7566880
直接模式匹配,三行代码搞定
import java.util.*;
public class Solution {
/**
* 验证IP地址
* @param IP string字符串 一个IP地址字符串
* @return string字符串
*/
public String solve (String IP) {
// "\A" 定义开头 "\z" 定义结尾 需要转义
// (\\d|[1-9]\\d|25[0-5]|2[0-4]\\d|1\\d?\\d?) 定义0-255 不含多余前缀0
// {3} 对前面内容匹配三次
if(IP.matches("\\A(\\d|[1-9]\\d|25[0-5]|2[0-4]\\d|1\\d?\\d?)(\\.(\\d|[1-9]\\d|25[0-5]|2[0-4]\\d|1\\d?\\d?)){3}\\z")) return "IPv4";
if(IP.matches("\\A([0-9-a-f-A-F]{1,4})(\\:([0-9-a-f-A-F]{1,4})){7}\\z")) return "IPv6";
return "Neither";
}
}
