求一正则表达式
例如: 
 字符串如下: 
 12.24.45.100:80   HTTP   210,410,420   US   ATT   User    
 12.214.227.97:2550   HTTP   270,821,821   US   ATT   User    
 24.166.145.107:2442   HTTP   231,901,901   美国   Road    
 61.26.29.48:8080   HTTP   80,761,781   Japan      
 想把   IP地址和端口号取出来   
 12.24.45.100:80 
 12.214.227.97:2550 
 24.166.145.107:2442 
 61.26.29.48:8080   
 求正则表达式或者可实现的方法
------解决方案--------------------\d{1,3}(\.\d{1,3}){3}:\d{1,4}
------解决方案--------------------ding ls  
 这样效率会好点 
 \d{1,3}(?:\.\d{1,3}){3}:\d{1,4} 
------解决方案--------------------public class Test { 
 	public static void main(String[] args) { 
 		String s =  "12.24.45.100:80 HTTP 210,410,420 US ATT User 12.214.227.97:2550 HTTP 270,821,821 US ATT User 24.166.145.107:2442 HTTP 231,901,901 美国 Road 61.26.29.48:8080 HTTP 80,761,781 Japan "; 
 		String[] array = s.split( "HTTP "); 
 		for (int i = 0; i  < array.length; i++) { 
 			if (array[i].indexOf( ": ") != -1) { 
 				int p = array[i].indexOf( ": "); 
 				int begin = getBegin(array[i], p); 
 				int end = getEnd(array[i], p); 
 				System.out.println(array[i].substring(begin, end)); 
 			} 
 		} 
 	}   
 	private static int getBegin(String s, int p) { 
 		char c = 32; 
 		int b = p; 
 		do { 
 			if (b <=0) break; 
 			c = s.charAt(b--); 
 		} while (c != 32); 
 		if (b == 0)  
 			return 0; 
 		else 
 			return ++b; 
 	}   
 	private static int getEnd(String s, int p) { 
 		char c = 32; 
 		int b = p; 
 		do { 
 			c = s.charAt(b++); 
 		} while (c != 32);   
 		return b--; 
 	}   
 }
------解决方案--------------------我用的split写的:   
 public class sql { 
     public static void main(String[] args) { 
         String str =  "12.24.45.100:80 HTTP 210,410,420 US ATT User 12.214.227.97:2550 HTTP 270,821,821 US ATT User 24.166.145.107:2442 HTTP 231,901,901 美国 Road 61.26.29.48:8080 HTTP 80,761,781 Japan  "; 
         String[] ip=str.split( "HTTP\\s(\\d+,?)+\\D+ "); 
         System.out.println(ip.length);           
         for (int i=0;i <ip.length;i++) 
         { 
             System.out.println(ip[i]); 
         } 
     } 
 } 
------解决方案--------------------//正则表达式:   
 import java.util.regex.*;   
 public class Chazhao {   
 	public static void main(String[] args) { 
 		String s= "12.24.45.100:80 HTTP 210,410,420 US AT " + 
 				 "T User12.214.227.97:2550 " + 
 				 "HTTP 270,821,821 US ATT User 24.166.145.107:2442 " + 
 				 "HTTP 231,901,901 美国 Road 61.26.29.48:8080 " + 
 				 "HTTP 80,761,781 Japan "; 
 		Pattern p = Pattern.compile( "(\\d+\\.){3}\\d+\\:\\d+ "); 
 		Matcher m = p.matcher(s); 
 		while(m.find()){ 
 			System.out.print( "HTTP:// "); 
 		  System.out.println(m.group()); 
 		}   
 	}   
 }