0

我正在使用 Regex 匹配文本中的某些内容,并使用 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);

那就是 Pattern 中的匹配器(java.lang.CharSequence)不能应用于(java.io.BufferedReader),我不知道如何解决这个问题。感谢您的回答!

4

2 回答 2

2

正如它所说,您不能将 aPattern应用于 a BufferedReader- 您必须从读取器读取数据,然后将模式应用于该数据。

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

Matcher m = p.matcher(s);

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

于 2013-10-09T14:40:55.617 回答
0

你试过这个吗?

Matcher m=p.matcher(s);
于 2013-10-09T14:41:15.287 回答