免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1520 | 回复: 4
打印 上一主题 下一主题

请问一个正则查找文本的问题. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-07 01:06 |只看该作者 |倒序浏览
为何查找不到对应的内容?
java代码如下:
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class FileReadTest {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = readAll("D:\\output\\20060705191048_18.txt");
StringBuffer sb = new StringBuffer();
       String regEx="<td id=content>(.*?)</td>";
       regEx = "<TD height=\"74\" vAlign=top class=L17 id=fontzoom>(.*?)</TD>";

       System.out.println(s);
       Pattern p=Pattern.compile(regEx);

       Matcher m=p.matcher(s);
       boolean rs=m.find();
       for(int i=1;i<=m.groupCount();i++){
           System.out.println(m.group(i));
       }
      
       int mc = (m.groupCount());
       System.out.println("GroupCount:"+mc);


}

    public static String readAll(String filepath){
        StringBuffer sb = new StringBuffer();
        FileReader rd = null;
        BufferedReader br=null;
        try{

         rd = new FileReader(filepath);
     br = new BufferedReader(rd);
    String line = br.readLine();
    while(line!=null){
        sb.append(line);
        sb.append("\r\n");
        line = br.readLine();
    }
    return sb.toString();
    //return sb.toString().substring(0,sb.toString().length()-1);
        }catch(Exception e)
        {
            System.err.println(e.toString());
        }finally{
        try{
        br.close();
        rd.close();
        }catch(Exception e){
        e.printStackTrace();
        }
      
        }      
        return sb.toString();
    }

}


文本文件20060705191048_18.txt的内容:

                    <TR>
                      <TD height="74" vAlign=top class=L17 id=fontzoom>
                      【三大发明】<BR>1.冷锅炒菜<BR>老婆在厨房炒菜,手里还拿着一本书,一边看一边炒,完全心不在焉。
                      我一看,这哪里是在炒菜,连火都没有点!在那里瞎扒拉。我很生气,批评了她一顿。老婆不服气,在上面放了些香油、盐和醋
                      ,翻了几下,直接盛到盘子里面,嘴里嘟囔道:“这道菜本来就应该生吃的!”得!我想吃的尖椒炒土豆片变成了尖椒拌土豆片了!
                      <BR>2.存款以“少”变“多”<BR>我家有个存钱罐儿,里面大多是一元、二元或五元以下的零钱,存了一年多,大概有五六百元。
                      一天,一位朋友要换一些零钱,我自告奋勇地要求给他换。拿出存钱罐儿后,感觉很重。一倒出来,一元以上面额的钱都不见了,
                      取而代之的是一角以下的硬币。我问老婆:“咱家的钱怎么变这么少了?”老婆装糊涂:“怎么少了?是多了!不信你可以上秤称一下,
                      比以前沉得多!”<BR>3.洗衣机变成储衣柜<BR>我们家大件的衣服都归我洗(结婚前约定好的)。出差一个月后回到家中,
                      居然一件脏衣服也没有发现。我夸老婆懂事多了,拉着她直接下了馆子。第二天,我要洗衣服,却发现洗衣机里面塞满了脏衣服
                      ,比我家大衣柜里的还多!更可气的是,床底下居然也有!<BR><BR>【四大发现】<BR>1.怎样才高兴 <BR>老婆出去购物,
                      大包小包地拎回家里,无非是些衣服和化妆品之类的。经过左穿右试、上涂下抹的表演后,才把注意力放在钱包上,发现存款已不足。
   
                                              <BR></TD>
                    </TR>

论坛徽章:
0
2 [报告]
发表于 2006-07-07 04:35 |只看该作者

Pattern p=Pattern.compile(regEx);
改成
Pattern p=Pattern.compile(regEx, Pattern.DOTALL);

论坛徽章:
0
3 [报告]
发表于 2006-07-07 10:28 |只看该作者
perryhg晚上不睡觉?

闲着, 挑1个跟主题无关的毛病
rd.close();
这句是多余的.

论坛徽章:
0
4 [报告]
发表于 2006-07-07 10:39 |只看该作者
原帖由 cooljia 于 2006-7-7 11:28 发表
perryhg晚上不睡觉?

闲着, 挑1个跟主题无关的毛病
rd.close();
这句是多余的.


2006-7-7 05:35
难道去德国出差

论坛徽章:
0
5 [报告]
发表于 2006-07-07 19:12 |只看该作者
多余的语句太多了,我都挑不过来了。

另:楼上的没猜对
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP