「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