例如:
字符串如下:
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求正则表达式或者可实现的方法
字符串如下:
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}
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--;
}}
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]);
}
}
}
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());
} }}
String reg = "\\d+\\.\\d+\\.\\d+\\.\\d+:\\d+"