0

以下は例外をスローしています。

Pattern.matches(""+input.charAt(i),"\\s");

java.util.regex.PatternSyntaxException: 
Unclosed character class near index 0.

理由がわかりません。照合するテキストにもエスケープ文字が必要ですか?

役立つ場合のワークスペースのスクリーンショット。

4

5 に答える 5

5

パラメータを間違った順序で取得しました(ドキュメントから)

Pattern.matches(String regex, CharSequence input) 
于 2012-10-21T19:15:07.607 に答える
2

使い方が間違っているようです。やったほうがいい

 Pattern p = Pattern.compile("[ \\t\\n]");
 Matcher m = p.matcher(""+input.charAt(i));
 boolean b = m.matches();

参考書より

于 2012-10-21T19:15:44.060 に答える
1

私はそれがあるべきだと思います

Pattern.matches("\\s",String.valueOf(input.charAt(i));
于 2012-10-21T19:19:00.383 に答える
1

空白のための特別なクラスがあります。コードは次のように簡略化できます。

Pattern.matches("\\s", <your_input>);
于 2012-10-21T19:14:15.767 に答える
0

このまま割り切ればいいのに……。

Pattern pattern = Pattern.compile("\\s");

Matcher matcher = pattern.matcher("Your_Source_String");
于 2012-10-21T19:19:00.833 に答える