regex
Check if a string matches a Pattern
In this example we shall show you how to check if a String matches a Pattern. To check if a String matches a Pattern one should perform the following steps:
- 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
matches()
API method of Matcher to match the entire region against the pattern. It returns true if, and only if, the entire region sequence matches this matcher’s pattern. - Reset the matcher with a new input sequence, with
reset(CharSequence input)
API method of Matcher. - Match the input sequence, starting at the beginning of the region, against the pattern, using
lookingAt()
API method of Matcher,
as described in the code snippet below.
package com.javacodegeeks.snippets.core; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CheckIfAStringMatchesAPattern { public static void main(String[] args) { String patternStr = "test"; Pattern pattern = Pattern.compile(patternStr); String input = "this fails"; // create a matcher that will match the given input against this pattern Matcher matcher = pattern.matcher(input); boolean matchFound = matcher.matches(); System.out.println(input + " - matches: " + matchFound); input = "this passes the test"; // reset the matcher with a new input sequence matcher.reset(input); matchFound = matcher.matches(); System.out.println(input + " - matches: " + matchFound); // Attempts to match the input sequence, starting at the beginning // of the region, against the pattern matchFound = matcher.lookingAt(); System.out.println(input + " - matches from the beginning: " + matchFound); } }
Output:
this fails - matches: false
this passes the test - matches: false
this passes the test - matches from the beginning: false
This was an example of how to check if a String matches a Pattern in Java.