正規表現

Java 正規表現検索の使用例

String str = "japan";

if( str.matches("japan")) {
	System.out.println("マッチする");
}else {
	System.out.println("マッチしない");
}

正規表現のメタ文字

.(ピリオド)任意の文字
*直前の文字が0回以上
+直前の文字が1回以上
?直前の文字が0回か1回
{数}直前の文字が数回
{数,}直前の文字が数回以上
{数1,数2}直前の文字が数1~数2回
[ab]aかb
[a-z]aからz。小文字
[A-Z_a-z]大文字、小文字、アンダーバー。\wと同じ。
[0-9]数字。\dと同じ
[^0-9]数字以外
^文字列の先頭(matchesでは常に最初に付いている扱い)
$文字列の最後(matchesでは常に最後に付いている扱い)

正規表現のエスケープシーケンス

注:文字列中では\は\\と書くので、\d は \\d となる。

\n改行
\tタブ
\d数字
\D数字以外
\w半角英数字とアンダーバー
\s空白またはタブ
\.ピリオド
\\\マーク

使用例

String str = "860-001";

if( str.matches("\\d\\d\\d-\\d\\d\\d\\d")) {
	System.out.println("正しい郵便番号");
}else {
	System.out.println("不正な郵便番号");
}

Stringクラスのメソッド

matches(正規表現)正規表現にマッチすればtrueを返す。
replaceAll(正規表現,置換後文字列)正規表現にマッチした文字列を置換後文字列にする。
split(区切り文字)区切り文字(正規表現)で文字列を分割し配列で返す。