package com.cgm.regx;
import java.util.Arrays;
public class IPSort {
public static void main(String[] args) {
String ipstr = "192.168.1.200 10.10.10.10 4.4.4.4 0.0.0.0";
//不俩个0
ipstr = ipstr.replaceAll("(\\d+)", "00$1");//00192.00168.001.00200 0010.0010.0010.0010 004.004.004.004 000.000.000.000
//每一段值保留最后三位
ipstr = ipstr.replaceAll("0*(\\d{3})", "$1");
String[] ips = ipstr.split(" +");
Arrays.sort(ips);
for (String ip : ips) {
//System.out.println(ips[i]);
System.out.println(ip.replaceAll("0*(\\d+)", "$1"));
}
}
}
import java.util.Arrays;
public class IPSort {
public static void main(String[] args) {
String ipstr = "192.168.1.200 10.10.10.10 4.4.4.4 0.0.0.0";
//不俩个0
ipstr = ipstr.replaceAll("(\\d+)", "00$1");//00192.00168.001.00200 0010.0010.0010.0010 004.004.004.004 000.000.000.000
//每一段值保留最后三位
ipstr = ipstr.replaceAll("0*(\\d{3})", "$1");
String[] ips = ipstr.split(" +");
Arrays.sort(ips);
for (String ip : ips) {
//System.out.println(ips[i]);
System.out.println(ip.replaceAll("0*(\\d+)", "$1"));
}
}
}
本文介绍了一种使用正则表达式和Java内置方法对IP地址进行排序的方法。通过将每个IP地址段前补充0使得长度一致,然后进行字符串比较实现排序。文章详细展示了代码实现过程。
7413

被折叠的 条评论
为什么被折叠?



