java.util.regex.Matcher.find() Method


Advertisements

Description

The java.time.Matcher.find() method attempts to find the next subsequence of the input sequence that matches the pattern.

Declaration

Following is the declaration for java.time.Matcher.find() method.

public boolean find()

Return Value

true if, and only if, a subsequence of the input sequence matches this matcher's pattern.

Example

The following example shows the usage of java.time.Matcher.find() method.

package com.tutorialspoint;

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

public class MatcherDemo {
   private static String REGEX = "(a*b)(foo)";
   private static String INPUT = "aabfooaabfooabfoob";
   private static String REPLACE = "-";
   
   public static void main(String[] args) {
      Pattern pattern = Pattern.compile(REGEX);
      
      // get a matcher object
      Matcher matcher = pattern.matcher(INPUT);
      
      while(matcher.find()) {
         //Prints the offset after the last character matched.
         System.out.println("First Capturing Group, (a*b) Match String end(): "+matcher.end());    
         System.out.println("Second Capturing Group, (foo) Match String end(): "+matcher.end(1));  
      }
   }
}

Let us compile and run the above program, this will produce the following result −

First Capturing Group, (a*b) Match String end(): 6
Second Capturing Group, (foo) Match String end(): 3
First Capturing Group, (a*b) Match String end(): 12
Second Capturing Group, (foo) Match String end(): 9
First Capturing Group, (a*b) Match String end(): 17
Second Capturing Group, (foo) Match String end(): 14
javaregex_matcher.htm
Advertisements