java 正規表現にマッチした最初の文字列を置換する

java 正規表現にマッチした最初の文字列を置換する

javaで、正規表現にマッチした最初の文字列を置換する手順を記述してます。「Pattern.compile」と「replaceFirst」で可能です。

環境

  • OS windows11 home
  • java 19.0.1

手順

正規表現にマッチした最初の文字列を置換するには、「Pattern.compile」と「replaceFirst」を使用します。

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

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

m1.replaceFirst("置換する文字列");

実際に、使用してみます。

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("12345");

        System.out.println(m1.replaceFirst("00")); // 0045

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

        System.out.println(m2.replaceFirst("abcde")); // abcdeabcdeabcde

    }
}

初めに見つかったもののみが置換されていることが確認できます。