The matcher(CharSequence) method of the Pattern class used to generate a matcher that will helpful to match the given input as parameter to method against this pattern. The Pattern.matcher() method is very helpful when we need to check a pattern against a text a single time, and the default settings of the Pattern class are appropriate.
Syntax:
public Matcher matcher(CharSequence input)
Parameters: This method accepts a single parameter input which represents the character sequence to be matched.
Return Value: This method returns a new matcher for this pattern.
Below programs illustrate the matcher(CharSequence) method:
Program 1:
Java
import java.util.regex.*;
public class GFG {
public static void main(String[] args)
{
String REGEX = "(.*)(ee)(.*)?";
String actualString
= "geeksforgeeks";
Pattern pattern = Pattern.compile(REGEX);
Matcher matcher = pattern.matcher(actualString);
boolean matchfound = false ;
while (matcher.find()) {
System.out.println("found the Regex in text:"
+ matcher.group()
+ " starting index:" + matcher.start()
+ " and ending index:"
+ matcher.end());
matchfound = true ;
}
if (!matchfound) {
System.out.println("No match found for Regex.");
}
}
}
|
Output:found the Regex in text:geeksforgeeks starting index:0 and ending index:13
Program 2:
Java
import java.util.regex.*;
public class GFG {
public static void main(String[] args)
{
String REGEX = "(.*)(welcome)(.*)?";
String actualString
= "geeksforgeeks";
Pattern pattern = Pattern.compile(REGEX);
Matcher matcher = pattern.matcher(actualString);
boolean matchfound = false ;
while (matcher.find()) {
System.out.println("match found");
matchfound = true ;
}
if (!matchfound) {
System.out.println("No match found");
}
}
}
|
References: https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html#matcher(java.lang.CharSequence)