Skip to content
Related Articles

Related Articles

Pattern compile(String,int) method in Java with Examples
  • Last Updated : 19 Aug, 2019
GeeksforGeeks - Summer Carnival Banner

The compile(String, int) method of the Pattern class used to create a pattern from the regular expression with the help of flags where both expression and flags are passed as parameters to the method. The Pattern class contains a list of flags (int constants) that can be helpful to make the Pattern matching behave in certain ways. For example, The flag name CASE_INSENSITIVE is used to ignore the case of the text at the time of matching.

Syntax:

public static Pattern compile(String regex, int flags)

Parameters: This method accepts two parameters:

  • regex: This parameter represents the given regular expression compiled into a pattern.
  • flag: This parameter is an integer representing Match flags, a bit mask that may include CASE_INSENSITIVE, MULTILINE, DOTALL, UNICODE_CASE, CANON_EQ, UNIX_LINES, LITERAL, UNICODE_CHARACTER_CLASS and COMMENTS.

Return Value: This method returns the pattern complied from passed regex and flags.

Exception: This method throws following exceptions:



  • PatternSyntaxException: This exception is raised if the expression’s syntax is invalid.
  • IllegalArgumentException: This exception is raised if bit values other than those corresponding to the defined match flags are set in flags.

Below programs illustrate the compile(String, int) method:

Program 1:




// Java program to demonstrate
// Pattern.compile method
  
import java.util.regex.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // create a REGEX String
        String REGEX = "(.*)(for)(.*)?";
  
        // create the string
        // in which you want to search
        String actualString
            = "code of Machine";
  
        // compile the regex to create pattern
        // using compile() method
        Pattern pattern = Pattern.compile(REGEX, 
                           Pattern.CASE_INSENSITIVE);
  
        // check whether Regex string is
        // found in actualString or not
        boolean matches = pattern
                              .matcher(actualString)
                              .matches();
  
        System.out.println("actualString "
                           + "contains REGEX = "
                           + matches);
    }
}
Output:
actualString contains REGEX = false

Program 2:




// Java program to demonstrate
// Pattern.compile method
  
import java.util.regex.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // create a REGEX String
        String REGEX = ".*org.*";
  
        // create the string
        // in which you want to search
        String actualString
            = "geeksforgeeks.org";
  
        // compile the regex to create pattern
        // using compile() method
        Pattern pattern = Pattern.compile(REGEX, 
                             Pattern.CASE_INSENSITIVE);
  
        // check whether Regex string is
        // found in actualString or not
        boolean matches = pattern
                              .matcher(actualString)
                              .matches();
  
        System.out.println("actualString "
                           + "contains REGEX = "
                           + matches);
    }
}
Output:
actualString contains REGEX = true

References:
https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html#compile(java.lang.String, int)

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :