日期:2014-05-17  浏览次数:20765 次

那位大哥可以帮我写个正则表达式啊
HTML code

<div class="notice_body">

<div id="demo"><div id="demo1">

<ul class="nl">

<li><span class="gray dateR">04-07</span><a href="show.aspx?id=16446&amp;cid=37" target="_blank" title="广西五一劳动奖章候选人公示">广西五一劳动奖章候选人</a></li>

<li><span class="gray dateR">04-05</span><a href="trans.aspx?id=16419" target="_blank" title="2012年度广西重大课题研究招标公告">2012年度广西重大课题研</a></li>


</ul> 

<br><br><br><br><br><br><br><br></div><div id="demo2"></div>



我是在没办法了,到这里来求救了,
这是个网页,我要用程序抓取上面代码中的一些信息,有<a></a>标签里面的内容和<a>的超链接。
从上面的html应该获取到的信息是show.aspx?id=16446&amp;cid=37 广西五一劳动奖章候选人公示">广西五一劳动奖章候选人 trans.aspx?id=16419 2012年度广西重大课题研究招标公告">2012年度广西重大课题研。

好像可以用HTMLParser来作,但是我不太清楚怎么用
希望大家帮帮忙了


------解决方案--------------------
Java code

String str ="<li><span class=\"gray dateR\">04-07</span><a href=\"show.aspx?id=16446&amp;cid=37\" target=\"_blank\" title=\"广西五一劳动奖章候选人公示\">广西五一劳动奖章候选人</a></li>"+
        "<li><span class=\"gray dateR\">04-05</span><a href=\"trans.aspx?id=16419\"target=\"_blank\" title=\"2012年度广西重大课题研究招标公告\">2012年度广西重大课题研</a></li>"+
        "</ul><br><br><br><br><br><br><br><br></div><div id=\"demo2\"></div>";
        Pattern p=Pattern.compile("<a\\s+.*?>?</a>");
        Matcher m = p.matcher(str);
        
        while(m.find()){
            System.out.println(m.group());
        }
不管有没有用,先给你救救急,看用的上么

------解决方案--------------------
Java code

//效率有点低,不过功能能实现吧。。
public static void main(String[] args) {
        String str =
                "<a href=\"show.aspx?id=16446&amp;cid=37\" target=\"_blank\" title=\"广西五一劳动奖章候选人公示\">广西五一劳动奖章候选人</a>"+
                "<div class=\"notice_body\">" +
                "<div id=\"demo\"><div id=\"demo1\">"+
                "<ul class=\"nl\">" +
                "<li><span class=\"gray dateR\">04-07</span>" +
                "<a href=\"show.aspx?id=16446&amp;cid=37\" " +
                "target=\"_blank\" title=\"广西五一劳动奖章候选人公示\">广西五一劳动奖  章候选人   </a></li>"+
                "<li><span class=\"gray dateR\">04-05</span>" +
                "<a href=\"trans.aspx?id=16419\"target=\"_blank\" title=\"2012年度广西重大课题研究招标公告\">2012年度广西重大课题研</a></li>"+
                "</ul><br><br><br><br><br><br><br><br></div><div id=\"demo2\"></div>";
        Pattern p=Pattern.compile("<div class=\"notice_body\">|<div|</div>|<a\\s+href=\"(.*?>?)</a>");
        Matcher m = p.matcher(str);
        Boolean flag = false;
        int count = 0;
        while(m.find()){
            if(m.group().equals("<div class=\"notice_body\">")){
                flag = true;
                count++;