如何在 Java 中查找单词的每次出现

问题描述

如何查找单词的每次出现?

解决方案

以下示例演示如何借助 Pattern.compile() 方法和 m.group() 方法查找单词的每次出现。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
   public static void main(String args[]) throws Exception {
      String candidate = "this is a test, A TEST.";
      String regex = "\ba\w*\b";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(candidate);
      
      String val = null; 
      System.out.println("INPUT: " + candidate);
      System.out.println("REGEX: " + regex + "
");
      
      while (m.find()) {
         val = m.group();
         System.out.println("MATCH: " + val);
      }
      if (val == null) {
         System.out.println("NO MATCHES: ");
      }
   }
}
 

结果

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

INPUT: this is a test, A TEST.
REGEX: \ba\w*\b

MATCH: a
java_regular_exp.html