regex
Matcher reset example
This is an example of how to use Matcher.reset()
API method to reset a Matcher, by discarding all of its explicit state information and setting its append position to zero. The matcher’s region is set to the default region, which is its entire character sequence. Resetting a matcher implies that you should:
- Compile a String regular expression to a Pattern, using
compile(String regex)
API method of Pattern. - Use
matcher(CharSequence input)
API method of Pattern to create a Matcher that will match the given String input against this pattern. - Use
find()
andmatch()
API methods of Matcher to get the matches of the input with the pattern. - Use
reset()
API method of Matcher to reset tha matcher and thenfind()
andmatch()
API methods of Matcher to get the matches of the input with the pattern again.
Let’s take a look at the code snippet that follows:
package com.javacodegeeks.snippets.core; import java.util.regex.Matcher; import java.util.regex.Pattern; public class MatcherReset { public static void main(String args[]) { function(); } public static void function() { Pattern pattern = Pattern.compile("\\d"); Matcher matcher = pattern.matcher("01234"); while (matcher.find()) { System.out.println("" + matcher.group()); } matcher.reset(); System.out.println("After resetting the Matcher"); while (matcher.find()) { System.out.println("" + matcher.group()); } } }
Output:
0
1
2
3
4
After resetting the Matcher
0
1
2
3
4
This was an example of Matcher.reset()
API method in Java.