regex

Compile Reg Ex pattern with multiple flags

With this example we shall show you how to compile regular expression to a Pattern with multiple flags. Compiling a regular expression to a Pattern with multiple flags 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() API method to find the next subsequence of the input sequence that matches the pattern.
  • Compile the same regular expression to a Pattern, using compile(String regex, int flags) API method of Pattern. This pattern has a case-sensitive matching or a multiline mode.
  • Use matcher(CharSequence input) and find() API methods again for the new pattern.

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 CompileRegExPatternWithMultipleFlags {
	
	public static void main(String[] args) {
		
		Pattern pattern;
		Matcher matcher;
		boolean matchFound;
		
		CharSequence inputStr = "Abcndef";
		String patternStr = "abc$";
		
		// Compile with default flags
		pattern = Pattern.compile(patternStr);
		
		matcher = pattern.matcher(inputStr);
		matchFound = matcher.find(); // false

		// Compile with MULTILINE and CASE_INSENSITIVE flags enabled
		pattern = Pattern.compile(
				patternStr,
				Pattern.MULTILINE | Pattern.CASE_INSENSITIVE
		);
		
		matcher = pattern.matcher(inputStr);
		matchFound = matcher.find(); // true
		
	}

}

  
This was an example of how to compile regular expression to a Pattern with multiple flags 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