html抽取

<li class="ji" _bg=Y>
 <span class="one lan1 cutT" _chk=694>
 <script>wm(0)</script>
 <a _tc='0' href="/b-1001024083/694.htm" _link='1'>车世界中的6位女神</a><script>wm(7)</script></span>
 <span class="two lan2 cut"><a _ulink='312898810'>誑嬡柏‘鋇鋇</a></span>
 <span class="three gary1" _mng=N>
 8/<font color="#FF0000">2770</font></span>
 <span class="four lan2 cut" _mng=N>
 <a _ulink=1023781448>吉日总部客服</a></span>
 <span class="five gary1" _mng=N><script>wt(1237172399)</script></span><span class="one lan2 mngBtn" _mng=Y _id="694" _elite="0" _top="0" _lock="0" style="display:none"></span>
 </li>

 

对于这样一段html代码,我想抽取其中的帖子标题“车世界中的6位女神”,帖子的作者“誑嬡柏‘鋇鋇”,帖子的点击和回复数“8/2770”,帖子的最后回复人“吉日总部客服

java的正则应该怎么写呢?

我原来的例子是这样的

package com.common.test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

@SuppressWarnings("unchecked")
public class servicingTest0 {

	public static void main(String args[]) {

		String html = "<title>买X3前最后一次考察 没想到就直接下订金了</title>" + "<title>BMW 2009精英驾驶培训课程现已出炉,3月全面启动招募报名!</title>"
				+ "<title>宝马7系历史回顾</title>";
		List resultList = getContext("<title>", "</title>", html);
		for (Iterator iterator = resultList.iterator(); iterator.hasNext();) {
			String context = (String) iterator.next();
			System.out.println(context);
		}
	}

	public static List getContext(String start, String end, String html) {

		List resultList = new ArrayList();
		/**
		 * Pattern p = Pattern.compile("<title>([^</title>]*)");
		 */
		Pattern p = Pattern.compile(start + "([^" + end + "]*)");// 匹配<title>开头,</title>结尾的文档
		Matcher m = p.matcher(html);
		while (m.find()) {
			resultList.add(m.group(1));
		}
		return resultList;
	}
}

 但是现在实际的问题是不存在像title那样简单的标签,比如帖子的标题标签是<a _tc='0' href="/b-1001024083/694.htm" _link='1'>标题</a>,这个694是需要变化的,如果是用”火车采集器“那么我只要给定<a _tc='0' href="/b-1001024083/(*).htm" _link='1'>和</a>,就可以拿到帖子标题,现在java中用正则如何实现这一功能,大大们帮我指点一下?谢谢啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值