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.

Byron Kiourtzoglou

Byron is a master software engineer working in the IT and Telecom domains. He is an applications developer in a wide variety of applications/services. He is currently acting as the team leader and technical architect for a proprietary service creation and integration platform for both the IT and Telecom industries in addition to a in-house big data real-time analytics solution. He is always fascinated by SOA, middleware services and mobile development. Byron is co-founder and Executive Editor at Java Code Geeks.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
Back to top button