<a href="http://wap.uusee.com:8080/search/click?query=000680&amp;title=http%3A%2F%2Fbbs.moneyqoo.com%2Fviewthread.php%3Faction%3Dprintable%26tid%3D28639&amp;url=http%3A%2F%2Fbbs.moneyqoo.com%2Fviewthread.php%3Faction%3Dprintable%26tid%3D28639&amp;spaceId=Default&amp;index=Default&amp;charset=&amp;mimeType=text%2Fhtml" style="font-family: Arial; text-decoration: underline; color: #00de00; " class="yschttl">
这是我的页面流中的其中一个,我想取href=""之间的地址 应该如何呢 还有一个是
<div id="postmessage_11728" class="t_msgfont">由于军工企业受政策影响很大,对于军工资产进<br />
行股份制改造,进入资本市场,大多数军工企业<br />
集团都采取了谨慎的态度。除了中国一航集团的<br />
大刀阔斧的改革外,其他集团更多是观望和等待。<br />
从管理层的角度来说,由于指导意见没有最终通<br />
过,因此对各种方案的审批,步伐也很缓慢,所<br />
以西飞的方案历时一年之久。但是,一旦政策放<br />
开,指导思想确立,我们相信未来中国军工资产<br />
将迎来股份制和证券化的高潮。</div>这是一个页面的其中一快 我想给取出来 <div中的id="postmessage_"是固定的 但是后面的数字不是固定的  然后在这个DIV这结束 应该如何处理 谢谢各位高手了 麻烦了 

解决方案 »

  1.   

    第一个字符串前面和最后那些无用部分长度是固定的吧?如果是就用String里的indexOf()和substring()方法去截,否则用正则.
      

  2.   

    String str = "<a   href=\"http://wap.uusee.com:8080/search/click?\" class=\"yschttl\"> ";
    Matcher m = Pattern.compile("<a\\s+href=\"([^\"]+)\".*?>").matcher(str);
    if(m.find())
    System.out.println(m.group(1));
    // 第二个的匹配方式"(<div\\s+id=\"postmessage_\\d+\".*?</div>)"
      

  3.   

    如果有多项符合匹配的情况,把 if 改成 while
      

  4.   

    第二个:import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test {    public static void main(String[] arg) {
            String text = "<div  id=\"postmessage_11728\" class=\"t_msgfont\">" +
                    "由于军工企业受政策影响很大,对于军工资产进 <br />\n" + 
                    "行股份制改造,进入资本市场,大多数军工企业 <br />\n" +
                    "集团都采取了谨慎的态度。除了中国一航集团的 <br />\n" + 
                    "大刀阔斧的改革外,其他集团更多是观望和等待。 <br />\n" +
                    "从管理层的角度来说,由于指导意见没有最终通 <br />\n" +
                    "过,因此对各种方案的审批,步伐也很缓慢,所 <br />\n" +
                    "以西飞的方案历时一年之久。但是,一旦政策放 <br />\n" +
                    "开,指导思想确立,我们相信未来中国军工资产 <br />\n" +
                    "将迎来股份制和证券化的高潮。 </div>adfasd";
            String str = "<div\\s+?id=\"postmessage.+?>(.*?)</div>";
            Pattern pattern = Pattern.compile(str, Pattern.DOTALL);
            Matcher matcher = pattern.matcher(text);
            while(matcher.find()) {
                System.out.println(matcher.group(1));
            }
        }
    }