各位版友,请教一个关于java正则表达式的问题:
218.4.60.214 passport.99fund.com - [23/Aug/2011:15:10:34 +0800] "GET /servlet/buildimageservlet HTTP/1.1" 200 1342 "https://trade.99fund.com/index.jsp?utm_source=n100821020" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; znwb6300)" "JSESSIONID1=TTRHgwnrpvThlbtlGGW0Wv6kc6JrLGnGDGHnJhPnvZJLHDn34w44!-1839838299; utm_source=n110729001; sso_cookie=%2FaeNSbZlrc3ovm0HMv1NPQcsP43VuHZqd0Y6qDkNRsOpLcxna2btP%2BwMDUMXZl8o; ec_custid=3041221"针对上面这个字符串,我怎么用正则表达式把标红的字段显示出来啊,等号后面是参数值,也就是我要提取时间戳,jsessionid1后面的utm_source参数值和ec_custid参数值,url当中的utm_source值不需要提取。
218.4.60.214 passport.99fund.com - [23/Aug/2011:15:10:34 +0800] "GET /servlet/buildimageservlet HTTP/1.1" 200 1342 "https://trade.99fund.com/index.jsp?utm_source=n100821020" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; znwb6300)" "JSESSIONID1=TTRHgwnrpvThlbtlGGW0Wv6kc6JrLGnGDGHnJhPnvZJLHDn34w44!-1839838299; utm_source=n110729001; sso_cookie=%2FaeNSbZlrc3ovm0HMv1NPQcsP43VuHZqd0Y6qDkNRsOpLcxna2btP%2BwMDUMXZl8o; ec_custid=3041221"针对上面这个字符串,我怎么用正则表达式把标红的字段显示出来啊,等号后面是参数值,也就是我要提取时间戳,jsessionid1后面的utm_source参数值和ec_custid参数值,url当中的utm_source值不需要提取。
解决方案 »
- socket是怎样实现的 会用到什么代码?
- 请教一个BufferedReader和socket.getInputStream()的问题~~~
- 使用Socket类传输文件,怎么样知道传输的速度是多少呢
- 请教base64(3des(sha1(xxxxx)))
- 菜鸟问题,急需各位大侠给予指教!这是一个关于向access数据库写入数据的问题,非常奇怪,从数据库读数据,一切正常,写时就出问题了,请
- 关于布局的问题
- 请大家推荐几本关于java RMI方面的书籍
- 静态变量相关问题
- 求购jbuilder 7 for linux下的安装方案
- 哪种编译器用得最多?
- easymock 如何mock单例类?
- 如何节约Java内存的一个问题(List)
Pattern pattern1 = Pattern.compile("\\[.*\\]");
Pattern pattern2 = Pattern.compile("utm_source=\\w*");
Pattern pattern3 = Pattern.compile("ec_custid=\\w*");
Matcher matcher = pattern1.matcher(str);
if (matcher.find()) {
System.out.println(matcher.group());
}
matcher = pattern2.matcher(str);
if (matcher.find()) {
System.out.println(matcher.group());
}
matcher = pattern3.matcher(str);
if (matcher.find()) {
System.out.println(matcher.group());
}
String test = "218.4.60.214 passport.99fund.com - [23/Aug/2011:15:10:34 +0800]"
+ " \"GET /servlet/buildimageservlet HTTP/1.1\""
+ " 200 1342 \"https://trade.99fund.com/index.jsp?utm_source=n100821020\" "
+ "\"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; znwb6300)\" "
+ "\"JSESSIONID1=TTRHgwnrpvThlbtlGGW0Wv6kc6JrLGnGDGHnJhPnvZJLHDn34w44!-1839838299; utm_source=n110729001; sso_cookie=%2FaeNSbZlrc3ovm0HMv1NPQcsP43VuHZqd0Y6qDkNRsOpLcxna2btP%2BwMDUMXZl8o; ec_custid=3041221\"";
Matcher m = Pattern.compile(
"\\[(.*)\\].*;\\s*utm_source=(.*?);\\s*sso_cookie=(.*?);")
.matcher(test);
if (m.find()) {
System.out.println("timestamps = " + m.group(1));
System.out.println("utm_source = " + m.group(2));
System.out.println("sso_cookie = " + m.group(3));
}/*
结果
timestamps = 23/Aug/2011:15:10:34 +0800
utm_source = n110729001
sso_cookie = %2FaeNSbZlrc3ovm0HMv1NPQcsP43VuHZqd0Y6qDkNRsOpLcxna2btP%2BwMDUMXZl8o
*/
+ " \"GET /servlet/buildimageservlet HTTP/1.1\""
+ " 200 1342 \"https://trade.99fund.com/index.jsp?utm_source=n100821020\" "
+ "\"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; znwb6300)\" "
+ "\"JSESSIONID1=TTRHgwnrpvThlbtlGGW0Wv6kc6JrLGnGDGHnJhPnvZJLHDn34w44!-1839838299; utm_source=n110729001; sso_cookie=%2FaeNSbZlrc3ovm0HMv1NPQcsP43VuHZqd0Y6qDkNRsOpLcxna2btP%2BwMDUMXZl8o; ec_custid=3041221\"";
Matcher m = Pattern.compile(
"\\[(.*)\\].*;\\s*utm_source=(.*?);.*?;\\s*ec_custid=(\\d+)")
.matcher(test);
if (m.find()) {
System.out.println("timestamps = " + m.group(1));
System.out.println("utm_source = " + m.group(2));
System.out.println("ec_custid = " + m.group(3));
}
/*
结果
timestamps = 23/Aug/2011:15:10:34 +0800
utm_source = n110729001
ec_custid = 3041221
*/
public static void main(String[] args) {
String test = "218.4.60.214 passport.99fund.com - [23/Aug/2011:15:10:34 +0800]"
+ " \"GET /servlet/buildimageservlet HTTP/1.1\""
+ " 200 1342 \"https://trade.99fund.com/index.jsp?utm_source=n100821020\" "
+ "\"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; znwb6300)\" "
+ "\"JSESSIONID1=TTRHgwnrpvThlbtlGGW0Wv6kc6JrLGnGDGHnJhPnvZJLHDn34w44!-1839838299; utm_source=n110729001; sso_cookie=%2FaeNSbZlrc3ovm0HMv1NPQcsP43VuHZqd0Y6qDkNRsOpLcxna2btP%2BwMDUMXZl8o; ec_custid=3041221\"";
Matcher m = Pattern.compile("\\[(.*)\\].*\"JSESSIONID1=.*?utm_source=(.*?);.*?ec_custid=(.*?)[;\"]")
.matcher(test);
if (m.find()) {
System.out.println("timestamps = " + m.group(1));
System.out.println("utm_source = " + m.group(2));
System.out.println("sso_cookie = " + m.group(3));
}
}