How to find every occurance of a word in Java



Problem Description

How to find every occurance of a word?

Solution

Following example demonstrates how to find every occurance of a word with the help of Pattern.compile() method and m.group() method.

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 + "\r\n");
      
      while (m.find()) {
         val = m.group();
         System.out.println("MATCH: " + val);
      }
      if (val == null) {
         System.out.println("NO MATCHES: ");
      }
   }
}

Result

The above code sample will produce the following result.

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

MATCH: a
java_regular_exp.htm
Advertisements