- Java Regex - Home
- Java Regex - Overview
- Java Regex - Capturing Groups
- Java Regex - MatchResult Interface
- Java Regex - Pattern Class
- Java Regex - Matcher Class
- PatternSyntaxException Class
- Java Regex Examples
- Java Regex - Characters
- Java Regex - Character Classes
- Predefined Character Classes
- POSIX Character Classes
- Java Regex - JAVA Character Classes
- Unicode Character Classes
- Java Regex - Boundary Matchers
- Java Regex - Greedy quantifiers
- Java Regex - Reluctant quantifiers
- Java Regex - Possessive quantifiers
- Java Regex - Logical Operators
- Java Regex Useful Resources
- Java Regex - Quick Guide
- Java Regex - Useful Resources
- Java Regex - Discussion
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