0Pricing
Java Academy · Lesson

Compiling Patterns

Pattern.compile and Matcher.

The Pattern and Matcher Pair

Java regex lives in java.util.regex. A Pattern is a compiled regular expression; a Matcher applies that pattern to a specific input.

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

public class Main {
    public static void main(String[] args) {
        Pattern p = Pattern.compile("\\d+");
        Matcher m = p.matcher("abc123");
        System.out.println(m.find());
    }
}

Compiling Once, Reusing Often

Pattern.compile is relatively expensive. Compile a pattern once and reuse it across many inputs rather than recompiling in a loop.

import java.util.regex.Pattern;

public class Main {
    static final Pattern DIGITS = Pattern.compile("\\d+");

    public static void main(String[] args) {
        System.out.println(DIGITS.matcher("a1").find());
        System.out.println(DIGITS.matcher("bb").find());
    }
}

All lessons in this course

  1. Compiling Patterns
  2. Finding and Matching
  3. Capturing Groups
  4. Replacing with Regex
← Back to Java Academy