正規表現でマッチした文字列を取得する

備忘録。

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

public class RegexSample {
    public void main(String[] args) {
        String date = "20110101";

        Pattern pattern = Pattern.compile("^(\\d{4})(\\d{2})(\\d{2})$");
        Matcher matcher = pattern.matcher(date);

        String target;

        if(matcher.find()) {
            target = matcher.group(1) + "/" + matcher.group(2) + "/" + matcher.group(3);
            System.out.println(target);
            // => 2011/01/01
        }
    }
}