java.util.regex.Pattern.compile() Method



Description

The java.util.regex.Pattern.compile(String regex, int flags) method compiles the given regular expression into a pattern.

Declaration

Following is the declaration for java.util.regex.Pattern.compile(String regex, int flags) method.

public static Pattern compile(String regex, int flags)

Parameters

  • regex − The expression to be compiled.

  • flags − Match flags, a bit mask that may include CASE_INSENSITIVE, MULTILINE, DOTALL, UNICODE_CASE, CANON_EQ, UNIX_LINES, LITERAL, UNICODE_CHARACTER_CLASS and COMMENTS.

Exceptions

  • IllegalArgumentException − If bit values other than those corresponding to the defined match flags are set in flags.

  • PatternSyntaxException − If the expression's syntax is invalid.

Example

The following example shows the usage of java.util.regex.Pattern.compile(String regex, int flags) method.

package com.tutorialspoint;

import java.util.regex.MatchResult;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PatternDemo {
   private static final String REGEX = "(.*)(\\d+)(.*)?# 3 capturing groups";
   private static final String INPUT = "This is a sample Text, 1234, with numbers in between.";

   public static void main(String[] args) {
      // create a pattern
      Pattern pattern = Pattern.compile(REGEX,Pattern.COMMENTS);
      
      // get a matcher object
      Matcher matcher = pattern.matcher(INPUT); 

      if(matcher.find()) {
         //get the MatchResult Object 
         MatchResult result = matcher.toMatchResult();

         //Prints the offset after the last character matched.
         System.out.println("First Capturing Group - Match String end(): "+result.end());         
      }
   }
}

Let us compile and run the above program, this will produce the following result −

First Capturing Group - Match String end(): 53
javaregex_pattern.htm
Advertisements