Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Matcher toMatchResult() method in Java with Examples
The java.util.regex.Matcher class represents an engine that performs various match operations. There is no constructor for this class, you can create/obtain an object of this class using the matches() method of the class java.util.regex.Pattern.
The toMatchResult() method of this (Matcher) returns the match state of the current matcher.
Example 1
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ToMatchResultExample {
public static void main(String[] args) {
String str = "<p>This <b>is</b> an <b>example</b>.</p>";
//Regular expression to match contents of the bold tags
String regex = "<b>(\S+)</b>";
//Creating a pattern object
Pattern pattern = Pattern.compile(regex);
//Matching the compiled pattern in the String
System.out.println("State of the matcher: ");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.toMatchResult());
String result = matcher.group(1);
}
matcher = matcher.reset("<p>this is another <b>line</b>.</p>");
matcher.find();
System.out.println("");
System.out.println("State of the matcher after resetting it: \n"+matcher.toMatchResult());
}
}
Output
State of the matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,40 lastmatch=<b>is</b>] java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,40 lastmatch=<b>example</b>] State of the matcher after resetting it: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,35 lastmatch=<b>line</b>]
Example 2
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ToMatchResultExample {
public static void main(String[] args) {
String regex = "[#]";
System.out.println("Enter a string: ");
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
//Creating a pattern object
Pattern pattern = Pattern.compile(regex);
//Creating a Matcher object
Matcher matcher = pattern.matcher(input);
System.out.println("Match state: ");
//Finding the match
while(matcher.find()) {
System.out.println(matcher.toMatchResult());
}
}
}
Output
Enter a string: #This #is #a #sample #text Match state: java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#] java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#] java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#] java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#] java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#]
Advertisements