0Pricing
Java Academy · Lesson

Capturing Groups

Extract matched substrings.

What Capturing Groups Are

Parentheses ( ) in a regex create capturing groups. After a match you can extract each group's text separately, ideal for parsing structured data.

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

public class Main {
    public static void main(String[] args) {
        Matcher m = Pattern.compile("(\\d+)-(\\d+)").matcher("42-99");
        if (m.find()) {
            System.out.println(m.group(1));
            System.out.println(m.group(2));
        }
    }
}

Group 0 Is the Whole Match

group(0) (or group()) returns the entire matched text. Numbered groups start at 1.

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

public class Main {
    public static void main(String[] args) {
        Matcher m = Pattern.compile("(\\d+)px").matcher("width: 24px");
        if (m.find()) {
            System.out.println(m.group(0));
            System.out.println(m.group(1));
        }
    }
}

All lessons in this course

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