利用正則表達(dá)對IP進(jìn)行排序的實現(xiàn)代碼
1、補零,使得可以按照字符串順序進(jìn)行比較。
2、截取保留后三位(ip地址最多就3位)。
3、利用Arrays.sort()方法對截取的字符串進(jìn)行排序。。
4、去除多余的0,回復(fù)ip原樣。
5、實現(xiàn)代碼:
package IPSort;
import java.util.Arrays;
/**
* 利用正則表達(dá)對IP進(jìn)行排序,分四步
* @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、運行結(jié)果:
------原IP地址------ 10.2.4.23 192.168.1.2 173.68.46.65 191.158.6.2 9.2.4.23 ------1、加零,按字符串順序比較------ 0010.002.004.0023 00192.00168.001.002 00173.0068.0046.0065 00191.00158.006.002 009.002.004.0023 ------2、截取,保留三位------ 010.002.004.023 192.168.001.002 173.068.046.065 191.158.006.002 009.002.004.023 ------3、排序------ 009.002.004.023 010.002.004.023 173.068.046.065 191.158.006.002 192.168.001.002 ------4、去零------ 9.2.4.23 10.2.4.23 173.68.46.65 191.158.6.2 192.168.1.2
以上所述是小編給大家介紹的利用正則表達(dá)對IP進(jìn)行排序的實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
正則表達(dá)式驗證身份證號碼和郵箱、判斷checked選中狀態(tài)
這篇文章主要介紹了正則表達(dá)式驗證身份證號碼和郵箱、判斷checked選中狀態(tài)的相關(guān)知識,需要的朋友可以參考下2017-07-07
正則表達(dá)式從HTML中匹配img標(biāo)簽的圖片地址
最近有一個項目要獲取頁面中所有img標(biāo)簽中的圖片地址,這篇文章主要給大家介紹了關(guān)于正則表達(dá)式如何從HTML中匹配img標(biāo)簽的圖片地址的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
iOS中使用正則表達(dá)式NSRegularExpression 來驗證textfiled輸入的內(nèi)容
一個正則表達(dá)式(regexp)是由元字符和文字?jǐn)?shù)字的文本字符,或者“文字的”(abc,123,及其他)混合組合而成的文本模式。 該類型用于匹配文本字符——并附有匹配的結(jié)果,是成功還是失敗。 Regexps 主要用于規(guī)則文本匹配以及搜索和替換。2015-09-09
php中正則替換函數(shù)ereg_replace用法實例
這篇文章主要介紹了php中正則替換函數(shù)ereg_replace用法,以實例形式分析了ereg_replace函數(shù)進(jìn)行正則替換時的用法,非常具有實用價值,需要的朋友可以參考下2014-12-12
JavaScript正則表達(dá)式校驗非零的正整數(shù)實例
本文分享了JavaScript正則表達(dá)式(^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$)校驗非零的正整數(shù)實例代碼,代碼簡單易懂,需要的朋友可以看下2016-12-12

