本サイトはプロモーション(広告)が含まれています。

【Java】正規表現で置換する方法をまとめてみた

【Java】正規表現で置換する方法をまとめてみた

正規表現で置換する方法で主要なものをまとめました。

^ :行の先頭

「^」は行の先頭を意味する正規表現です。

String str = "abc123abcあいう";
System.out.println(str.replaceAll("abc", "d"));
System.out.println(str.replaceAll("^abc", "d"));

//実行結果
d123dあいう
d123abcあいう

$ :行の末尾

「$」は行の末尾を意味する正規表現です。

String str = "abcあいう123abcあいう";
System.out.println(str.replaceAll("あいう", "え"));
System.out.println(str.replaceAll("あいう$", "え"));

//実行結果
abcえ123abcえ
abcあいう123abcえ

\A :文字列の先頭

「\A」は文字列の先頭を意味する正規表現です。

String str = "abc123abcあいう";
System.out.println(str.replaceAll("abc", "d"));
System.out.println(str.replaceAll("\\Aabc", "d"));

//実行結果 
d123dあいう
d123abcあいう

\z :文字列の末尾

「\z」は文字列の末尾を意味する正規表現です。

String str = "abcあいう123abcあいう";
System.out.println(str.replaceAll("あいう", "え"));
System.out.println(str.replaceAll("あいう\\z", "え"));

//実行結果
abcえ123abcえ
abcあいう123abcえ

. :任意の一文字

「.」は任意の一文字を意味する正規表現です。

String str = "abc123abcあいう";
System.out.println(str.replaceAll("1.3", "4"));

//実行結果
abc4abcあいう

[abc] :a、b、cのいずれか

「[abc]」はa、b、cのいずれかを意味する正規表現です。

String str = "abc123abcあいう";
System.out.println(str.replaceAll("[aあ]", "z"));

//実行結果
zbc123zbczいう

[^abc] :a、b、cのいずれでもない

「[^abc]」はa、b、cのいずれでもないを意味する正規表現です。

String str = "abc123abcあいう";
System.out.println(str.replaceAll("[^abc]", "z"));

//実行結果
abczzzabczzz

\d :数字

「\d」は数字を意味する正規表現です。

String str = "abc123abcあいう";
System.out.println(str.replaceAll("\\d", "A"));

//実行結果
abcAAAabcあいう

\D :数字以外

「\D」は数字以外を意味する正規表現です。

String str = "abc123abcあいう";
System.out.println(str.replaceAll("\\D", "A"));

//実行結果
AAA123AAAAAA

\s :空白文字

「\s」は空白文字を意味する正規表現です。

String str = "abc あいう 12";
System.out.println(str.replaceAll("\\s", "A"));

//実行結果
abcAあいうA12

\S :空白文字以外

「\s」は空白文字以外を意味する正規表現です。

String str = "abc あいう 12";
System.out.println(str.replaceAll("\\S", "A"));

//実行結果
AAA AAA AA

[\u3040-\u309F] :ひらがなのいずれか

「[\u3040-\u309F]」はひらがなのいずれかを意味する正規表現です。

String str = "abcえお123カカあいう";
System.out.println(str.replaceAll("[\u3040-\u309F]", "A"));

//実行結果
abcAA123カカAAA

[\u30A0-\u30FF] :全角カタカナのいずれか

「[\u30A0-\u30FF]」は全角カタカナのいずれかを意味する正規表現です。

String str = "abcえお123カカあいう";
System.out.println(str.replaceAll("[\u30A0-\u30FF]", "A"));

//実行結果
abcえお123Aカあいう

[\uFF65-\uFF9F] :半角カタカナのいずれか

「[\uFF65-\uFF9F]」は半角カタカナのいずれかを意味する正規表現です。

String str = "abcえお123カカあいう";
System.out.println(str.replaceAll("[\uFF65-\uFF9F]", "A"));

//実行結果
abcえお123カAあいう

Javaの記事一覧へ

PAGE TOP