Pattern中的matcher(java.lang.CharSequence)无法应用于(java.io.BufferedReader)

时间:2013-10-09 14:39:47

标签: java regex text bufferedreader

我正在使用正则表达式来匹配文本中的内容,并且每行都使用BufferedReader。 然后我发现了我无法解决的问题:

    BufferedReader br=null;
    BufferedWriter bw=null;

    Pattern p=Pattern.compile(myRegex);

    try{
        FileReader fr=new FileReader(originTextUrl);
        FileWriter fw=new FileWriter(targetTextUrl);
        br=new BufferedReader(fr);
        bw=new BufferedWriter(fw);
        String s="";
        while ((s=br.readLine())!=null){

            Matcher m=p.matcher(br);

那个模式中的matcher(java.lang.CharSequence)无法应用于(java.io.BufferedReader),我不知道如何解决这个问题。 谢谢你的回答!

2 个答案:

答案 0 :(得分:2)

正如它所说,你不能将Pattern应用于BufferedReader - 你必须从阅读器中读取数据,然后将模式应用于此。

在这种情况下,你已经在阅读数据 - 但是你忽略了它!你想要:

Matcher m = p.matcher(s);

我也强烈建议您使用更多描述性的变量名称。

答案 1 :(得分:0)

你试过这个吗?

Matcher m=p.matcher(s);