Java-特殊文字の判断

サンプルコード(実行可能)

String regEx = "[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]|\n|\r|\t";

public static void main(String[] args) {
	System.out.println(hasSpecialChar("", regEx));
	System.out.println(hasSpecialChar(" ", regEx));
	System.out.println(hasSpecialChar("faf", regEx));
	System.out.println(hasSpecialChar("fa fa", regEx));
	System.out.println(hasSpecialChar("fa(", regEx));
}

public static boolean hasSpecialChar(String str, String regEx) {
	Pattern p = Pattern.compile(regEx);
	Matcher m = p.matcher(str);

	return m.find();
}

上記のコードは実行できますが、特殊文字にはマイナス記号( "-")が含まれていません。マイナス記号をフィルタリングする場合は、特別な処理( "\\-")を実行する必要があります。

String regEx1 = "[_`~!@#$%^&*()\\-+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]|\n|\r|\t";

マイナス記号は、記号として特別で特別です。

おすすめ

転載: blog.csdn.net/A_bad_horse/article/details/113996831