【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あいう







コメントを残す