java正则表达式提取网址,标题,日期

<li><ahref="?bid=2&did=0&eid=1227">高速路上停车捡葫芦引发交通事故一人身亡</a><span>2013-09-29</span></li... <li><a href="?bid=2&did=0&eid=1227">高速路上停车捡葫芦引发交通事故一人身亡</a><span>2013-09-29</span></li>怎么用正则表达式提取网址,标题和日期,在线等,求解答 展开
 我来答
happyWorkXiaoXu
2013-09-30 · TA获得超过614个赞
知道小有建树答主
回答量:313
采纳率:100%
帮助的人:146万
展开全部
import java.util.regex.*;
import java.util.List;
import java.util.ArrayList;
class A  {
public static void main(String[] args)  {
String htmlStr = "<li><a href=\"?bid=2&did=0&eid=1227\">高速路上停车捡葫芦引发交通事故一人身亡</a><span>2013-09-29</span></li>";
String reg = "<li><a href=\"?\'?(.*?)\"?\'?>(.*?)</a><span>(.*?)</span>";
Pattern p = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(htmlStr);
List<String> url = new ArrayList<String>();
List<String> title = new ArrayList<String>();
List<String> date = new ArrayList<String>();
while(m.find()){
url.add(m.group(1));
title.add(m.group(2));
date.add(m.group(3));
}
for(int i = 0; i < url.size(); i++){
System.out.println("标题:"+title.get(i)+"\r\n日期:"+date.get(i)+"\r\n链接:"+url.get(i)+"\r\n");
}
}
}
追问
while(m.find()){
n.setNews_Rq(m.group(3));
n.setNews_Title(m.group(2).replace(""", "\""));
n.setNews_Url(m.group(1).replace("\"", ""));

我想把这些存到数据库,日期是date类型的怎么弄啊
追答
日期这个字段的保存要看你的实体对象是怎么建立的啊
1)如果n.setNews_Rq(m.group(3));中的n所属类里面日期字段是字符串类型的,就不用去转换,直接存储到数据库就行了,数据库会自动进行类型转换。

2)如果实体类里面日期类型是作为日期字段建立的,那么就要把字符串转换成日期类型就行了。就像a455143246描述的那样,使用SimpleDateFormat类,并制定日期格式后,用pase(datestr)就可以了。

因为不知道你那边的具体情况,所以这边只能给出这点建议
a455143246
2013-09-30
知道答主
回答量:20
采纳率:0%
帮助的人:8.8万
展开全部
那你的匹配没问题了?
日期类型的数据:
String da="2013-09-29";
SimpleDateFormat smp=new SimpleDateFormat("yyyy-MM-dd");//建立日期格式
Date date=smp.pase(da);
//这块用的是java.util.Date,导入util包,功能是按照smp解析字符串为日期格式
java.sql.Date Udate=new java.sql.Date(date.getTime());
最后Udate就能存入数据库了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式