java 正規表現にマッチした対象を確認する

java 正規表現にマッチした対象を確認する

javaで、正規表現にマッチした対象を確認する手順を記述してます。「$0(ドルゼロ)」使って確認します。

環境

  • OS windows11 home
  • java 19.0.1

手順

正規表現にマッチした対象を確認するには、「$0(ドルゼロ)」を使用します。
※以下は、マッチしたものを置換する「replaceAll」に使用した例となります。

Pattern p = Pattern.compile("文字列");

Matcher m1 = p.matcher("文字列");

m1.replaceAll("$0");

実際に、使用してみます。
※「[]」は、わかりやすいように付与しているだけで、なんでも構いません。

import java.util.regex.*;

public class App {
    public static void main(String[] args) throws Exception {

        String reg = "[0-9]{3}"; // 3文字の2から9の半角数字

        Pattern p = Pattern.compile(reg);

        Matcher m1 = p.matcher("123abc123");

        System.out.println(m1.replaceAll("[$0]")); // [123]abc[123]

        Matcher m2 = p.matcher("12345");

        System.out.println(m2.replaceAll("[$0]")); // [123]45

        Matcher m3 = p.matcher("123456");

        System.out.println(m3.replaceAll("!$0!")); // !123!!456!

    }
}