0

ユーザーのコメント テキスト フィールドへの入力をチェックする方法があります。

public boolean isValidComment(String commentString) {
  String expression = "[a-zA-Z0-9_ ]+";
  CharSequence inputStr = commentString;
  Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
  Matcher matcher = pattern.matcher(inputStr);
  return matcher.matches();
}

これは私にとってはうまくいきますが、パターンを変更する必要があります。ユーザーは、次の文字を除く任意の文字を入力できる必要があります: <> {} [].

上記以外のすべてを許可するようにパターンを設定するにはどうすればよいですか?

4

3 に答える 3

4

これを試して:

[^\<\>\{\}\[\]]+

一方、Pattern式を毎回再コンパイルしないように、次のような定数を使用する必要があります。

private static final Pattern MY_PATTERN = 
                                     Pattern.compile("^[^\\<\\>\\{\\}\\[\\]]+$");

そして定数を使用します:

return MY_PATTERN.matcher(commentString).matches();
于 2012-07-19T15:45:32.220 に答える
4

[^characters to disallow].

^文字クラスを否定し、内部以外のものに一致します。

于 2012-07-19T15:45:25.187 に答える
0

テストしていませんが、形式は次のとおりです。文字列式= "[^\\\<\\\>\\\{\\\}\\\[\\\]]+" ^記号は、次の文字を除くすべての文字を表します。

于 2012-07-19T15:45:48.663 に答える