「Java」replaceAll()で置換文字列にマッチしたグループを利用する方法

説明
public String replaceAll(String regex,String replacement)
指定された正規表現に一致する、この文字列の各部分文字列に対し、指定された置換を実行します。
置換文字列内でバックスラッシュ(\)とドル記号($)を使用すると、それをリテラル置換文字列として処理した場合とは
結果が異なる場合があります。
javaコード

package com.arkgame.study;

public class MatchDemo {
      protected static final String regexA = "([A-Z]+)([0-9]+)";
      protected static final String regexB = "([a-z]+)([0-9]+)";

      public static void main(String[] args) {
            String strA = "TEST5678abc";
            String targetA = strA.replaceAll(regexA, "$0,$1,$2");
            System.out.println(targetA);
            System.out.println("********************************");
            String strB = "abcde11ef22KK";
            String targetB = strB.replaceAll(regexB, "$0,$1,$2");
            System.out.println(targetB);

      }

}

実行結果
TEST5678,TEST,5678abc
********************************
abcde11,abcde,11ef22,ef,22KK

Java

Posted by arkgame