doctor_access_log.1177977600:65.55.210.14 - - [01/May/2007:00:00:26 -0500] "GET /estil.strawn HTTP/1.0" 404 14006
71.86.225.114 - - [23/May/2007:11:39:29 -0500] "GET /healthlink.css HTTP/1.1" 200 1799两行字符串如上面那样
现在要匹配IP, 方括号中的时间,以及后面的链接如“/healthlink.css HTTP/1.1”我自己写的匹配不到IP和时间达人帮我写一个,谢谢了
71.86.225.114 - - [23/May/2007:11:39:29 -0500] "GET /healthlink.css HTTP/1.1" 200 1799两行字符串如上面那样
现在要匹配IP, 方括号中的时间,以及后面的链接如“/healthlink.css HTTP/1.1”我自己写的匹配不到IP和时间达人帮我写一个,谢谢了
public static void main(String args[]){
String str ="doctor_access_log.1177977600:65.55.210.14 - - [01/May/2007:00:00:26 -0500] \"GET /estil.strawn HTTP/1.0\" 404 14006 71.86.225.114 - - [23/May/2007:11:39:29 -0500] \"GET /healthlink.css HTTP/1.1\" 200 1799 ";
String regex = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})\\s-\\s-\\s\\[([^\\]]+)\\]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
while(matcher.find()){
System.out.println("IP:\n"+ matcher.group(1));
System.out.println("Time:\n"+ matcher.group(2));
System.out.println();
}
}
IP:
65.55.210.14
Time:
01/May/2007:00:00:26 -0500IP:
71.86.225.114
Time:
23/May/2007:11:39:29 -0500
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class TestReg {
public static void main(String[] args) {
String str = "doctor_access_log.1177977600:65.55.210.14 - - [01/May/2007:00:00:26 -0500] \"GET /estil.strawn HTTP/1.0\" 404 14006 71.86.225.114 - - [23/May/2007:11:39:29 -0500] \"GET /healthlink.css HTTP/1.1\" 200 1799 ";
String regIp = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}";
String regTime = "\\[(.[^\\s]*)";
String regHeader = "\"(.[^\"]*)\"";
Pattern pattern = Pattern.compile(regIp);
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println("IP = " + matcher.group());
} pattern = Pattern.compile(regTime);
matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println("Time = " + matcher.group(1));
} pattern = Pattern.compile(regHeader);
matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println("Header = " + matcher.group(1));
} }
}IP = 65.55.210.14
IP = 71.86.225.114
Time = 01/May/2007:00:00:26
Time = 23/May/2007:11:39:29
Header = GET /estil.strawn HTTP/1.0
Header = GET /healthlink.css HTTP/1.1