利用正則表達(dá)對(duì)IP進(jìn)行排序的實(shí)現(xiàn)代碼
1、補(bǔ)零,使得可以按照字符串順序進(jìn)行比較。
2、截取保留后三位(ip地址最多就3位)。
3、利用Arrays.sort()方法對(duì)截取的字符串進(jìn)行排序。。
4、去除多余的0,回復(fù)ip原樣。
5、實(shí)現(xiàn)代碼:
package IPSort; import java.util.Arrays; /** * 利用正則表達(dá)對(duì)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、補(bǔ)零------"); 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、運(yùn)行結(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á)對(duì)IP進(jìn)行排序的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
正則表達(dá)式中的"g"是什么意思附件參數(shù)g的用法
為了能夠便于大家對(duì)正則表達(dá)式有一個(gè)更為綜合和深刻的認(rèn)識(shí),我將一些關(guān)鍵點(diǎn)和容易犯糊涂的地方再系統(tǒng)總結(jié)一下2014-07-07積累比較常用的正則表達(dá)式(例如:匹配中文、匹配html)
本文是小編在日常工作中積累并整理的有關(guān)一些常用的正則表達(dá)式(例如:匹配中文、匹配html),在此把全部?jī)?nèi)容分享在腳本之家網(wǎng)站,需要的朋友可以來腳本之家網(wǎng)站學(xué)習(xí)2015-10-10正則表達(dá)式基礎(chǔ)學(xué)習(xí)一文入門
這篇文章主要為大家介紹了正則表達(dá)式基礎(chǔ)學(xué)習(xí)一文入門詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03基于正則表達(dá)式實(shí)現(xiàn)UL下LI的樣式替換功能
這篇文章主要介紹了基于正則表達(dá)式實(shí)現(xiàn)UL下LI的樣式替換功能,涉及javascript使用正則表達(dá)式進(jìn)行頁面元素屬性動(dòng)態(tài)操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-05-05eregi_replace與preg_replace 函數(shù)代碼的用法比較
eregi_replace與preg_replace 函數(shù)代碼的用法比較...2007-03-03Python 正則表達(dá)式匹配數(shù)字及字符串中的純數(shù)字
這篇文章主要介紹了Python 正則表達(dá)式匹配數(shù)字及使用正則表達(dá)式找出字符串中的純數(shù)字,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08