这个正则太特殊了,随便写写:
    String s="<li><font class=cont> "+
        "<a href='http://online.cri.com.cn/773/2003-8-2/[email protected]' target='_blank'>"+
        "大学生暑期调研为“南京大屠杀”再添“新证”</a>&nbsp; "+
        "<font color=#808080>2003/08/02 13:29</font> "+
        "</font> <span class=itm><br> <B>...</B> ,南京农业大学青年志愿者得出以上结论。目前,这一调研成果已被<b>南京大学</b>独家收藏。   7月10日到20日,南京农业大学土地管理学院的10名年志愿者利用暑假,深入到孟塘、湖山两个山村和仙鹤门地区,先后采 <B>...</B> </span> <br><img height=8 src=http://images.sohu.com/pixel.gif> "+
        "</li>";
    String regStr=".*<a[^<]*href='([^<^']*)'[^<]*>(.*)</a>.*<font[^<]*>([^<]*)</font>.*<span[^<]*>(.*)</span>.*";
    String ss="";
    ss=s.replaceAll(regStr,"$1\n$2\n$3\n$4");
    System.out.println(ss);

解决方案 »

  1.   

    虽然信息是取出来,可是你那段文字实在有点特殊,尤其是<>标记太多,不过如果<a,<span<,<font标记是固定的话,还算是通用的
      

  2.   

    To:beyond_xiruo(J2EE苏鸿ASP.NET)
       谢谢楼上大哥热心帮忙,由于上午有事不在,有点不好意思!
       我试了一下,结果如下:
    http://online.cri.com.cn/773/2003-8-2/[email protected]
    大学生暑期调研为“南京大屠杀”再添“新证”
    2003/08/02 13:29
    <br> <B>...</B> ,南京农业大学青年志愿者得出以上结论。目前,这一调研成果已被<b>
    南京大学</b>独家收藏。   7月10日到20日,南京农业大学土地管理学院的10名
    年志愿者利用暑假,深入到孟塘、湖山两个山村和仙鹤门地区,先后采 <B>...</B>基本上满足要求,只是好象还有点问题,还有些字符没过滤掉!
    <a,<span<,<font标记基本上是固定的,所以的确还算是通用的。
    能不能再完善一下,顺便再解释一下!
    多谢!
      

  3.   

    其实是html里有若干个<li>...</li>结构的内容。现在就是想把<li>...</li>结构的内容中的那些字段取出来,放到数据库中!
      

  4.   

    我已经解决了。
    代码如下,供大家参考:
    import java.util.regex.*;
    import java.io.*;public class TakeOutURLTags
    {
      public TakeOutURLTags() 
      {
      
      
      }  public static void main(String[] args) throws Throwable 
      {
        int chr;
           
        StringBuffer content = new StringBuffer();    File file = new File("e:\\sohu\\testsohu.htm");
        BufferedReader in = new BufferedReader(new FileReader(file));
        
            
        
        
        while((chr = in.read()) != -1) 
        {
          content.append((char)chr);
        } );
           System.out.println("------------------- li lists ------------------");
               Pattern p =Pattern.compile("<li>(.*?)</li>" , Pattern.MULTILINE | Pattern.DOTALL);
    |  Pattern p1=Pattern.compile(".*<a[^<]*href='([^<^']*)'[^<]*>(.*)</a>.*<font[^<]*>([^<]*)</font>.*<span[^<]*>(.*)</span>.*", Pattern.MULTILINE | Pattern.DOTALL);
        Matcher m = p.matcher(content);
           String url="";
        String title="";
        String time="";
        String abst="";
        while(m.find()) 
        {
          String ul = m.group();
          
       
          Matcher m1 = p1.matcher(ul);
          while(m1.find()) 
          {
            System.out.println("url =  "   + m1.group(1));
            System.out.println("title = " + m1.group(2).replaceAll("<.*?>", ""));
            System.out.println("time = " + m1.group(3));
            System.out.println("abst = " +  m1.group(4).replaceAll("<.*?>", ""));
           
                    
          }
          
          
          
        }
        
         
        
      }
      
    }
      

  5.   

    To:beyond_xiruo(J2EE苏鸿ASP.NET) 
    好谢谢楼上大哥热心帮忙,马上结贴!