这次给大家带来正则表达式怎样对IP进行排序,正则表达式对IP进行排序的注意事项有哪些,下面就是实战案例,一起来看一下。
1、补零,使得可以按照字符串顺序进行比较。
2、截取保留后三位(ip地址最多就3位)。
3、利用Arrays.sort()方法对截取的字符串进行排序。。
4、去除多余的0,回复ip原样。
5、实现代码:
package IPSort;import java.util.Arrays;/** * 利用正则表达对IP进行排序,分四步 * @author tiger * */public class IPSortTest { public static void main(String[] args) { String[] ips = {"10.2.4.23","192.168.1.2","173.68.46.65","191.158.6.2","9.2.4.23"}; System.out.println("------1、补零------"); for (int i = 0; i < ips.length; i++) { ips[i] = ips[i].replaceAll("(\d+)", "00$1"); System.out.println(ips[i]); } System.out.println("------2、截取------"); for (int i = 0; i < ips.length; i++) { ips[i] = ips[i].replaceAll("0*(\d{3})", "$1"); System.out.println(ips[i]); } System.out.println("------3、排序------"); Arrays.sort(ips); for (int i = 0; i < ips.length; i++) { System.out.println(ips[i]); } System.out.println("------4、去零------"); for (int i = 0; i < ips.length; i++) { ips[i] = ips[i].replaceAll("0*(\d+)", "$1"); System.out.println(ips[i]); } }}
登录后复制
6、运行结果:
------原IP地址------10.2.4.23192.168.1.2173.68.46.65191.158.6.29.2.4.23------1、加零,按字符串顺序比较------0010.002.004.002300192.00168.001.00200173.0068.0046.006500191.00158.006.002009.002.004.0023------2、截取,保留三位------010.002.004.023192.168.001.002173.068.046.065191.158.006.002009.002.004.023------3、排序------009.002.004.023010.002.004.023173.068.046.065191.158.006.002192.168.001.002------4、去零------9.2.4.2310.2.4.23173.68.46.65191.158.6.2192.168.1.2
登录后复制
相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!
推荐阅读:
Linux grep与正则表达式的使用
怎么用正则把字符串分组
用正则表达式验证登录页面的输入内容
以上就是正则表达式怎样对IP进行排序的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2778097.html