Contents
【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あいう
コメントを残す