1. 程式人生 > >正則表示式練習:對IP地址進行排序

正則表示式練習:對IP地址進行排序

import java.util.TreeSet;

public class RegexTest {

	public static void main(String[] args) {
		
		Method2();//2.對IP進行排序
		
	}
	//2.對IP進行排序
	private static void Method2() {
		String str="192.168.10.34 127.0.0.1 3.3.3.3 105.70.11.55";
		str=str.replaceAll("(\\d+)","00$1");//一串數字為一組,將每組中的每一段均加兩個0
		//然後每一段保留數字的後三位
		str=str.replaceAll("0*(\\d{3})", "$1");//*表示出現0次或多次,{3}表示出現3次
		
		//1.將ip地址切出來
		String[] ips=str.split(" +");
		//使用treeset進行排序
		TreeSet<String> ts=new TreeSet<String>();
		for(String ip:ips){
			//System.out.println(ip);
			ts.add(ip);//treeset對字串一位一位的進行比較,但是對於ip分為了四段,我們想要的是一段一段的比較,所以我們將每段都補齊為三位
		}
		for(String ip:ts){
			System.out.println(ip);
		}
		
	}

}

執行結果:
在這裡插入圖片描述