如何在 Java 中从文件中打印所有与给定模式匹配的字符串

问题描述

如何从文件中打印所有与给定模式匹配的字符串?

解决方案

以下示例显示如何借助 Util.regex 类的 Patternname.matcher() 方法从文件中打印所有与给定模式匹配的字符串。

import java.util.regex.*;
import java.io.*;

public class newfile {
   public static void main(String[] args) throws IOException {
      Pattern p1 = Pattern.compile("[A-Za-z][a-z]+");
      BufferedReader r = new BufferedReader(new FileReader("os.java"));
      String line;
      
      while ((line = r.readLine()) != null) {
         Matcher m = p1.matcher(line);
         while (m.find()) {
            System.out.println(m.group(0));
            int s1 = m.start(0);
            int e1 = m.end(0);
            System.out.println(line.substring(s1, e1));
         }
      }
   }
}

结果

上述代码示例将产生以下结果。

Android
java
ios
linux
java_regular_exp.html