正則表示式 IP 正則表示式 合法IP
阿新 • • 發佈:2018-12-17
為了以後的不時之需。
適用於Java 語言。
String validIpRegex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
正則表示式:
^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$
測試用例:
@Test public void testValidIP() { List<String> testIPList = new ArrayList<>(); //Valid testIPList.add("111.168.0.1"); testIPList.add("42.123.97.36"); //Invalid testIPList.add("-"); testIPList.add("0.0.0.0"); testIPList.add("1.001.01.1"); testIPList.add("1921.168.255.255"); String validIpRegex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\." + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$"; //System.out.println(validIpRegex); Pattern pattern = Pattern.compile(validIpRegex); for (String testIP : testIPList) { Matcher matcher = pattern.matcher(testIP); if(!matcher.find()){ System.out.println("invalid ip : " + testIP); } } }