以下是抛出异常:
Pattern.matches(""+input.charAt(i),"\\s");
java.util.regex.PatternSyntaxException:
Unclosed character class near index 0.
我不明白为什么。我匹配的文本是否也需要转义字符?
工作区的屏幕截图以防万一。
您以错误的顺序获取参数(来自文档)
Pattern.matches(String regex, CharSequence input)
您使用它的方式似乎是错误的。你应该做
Pattern p = Pattern.compile("[ \\t\\n]");
Matcher m = p.matcher(""+input.charAt(i));
boolean b = m.matches();
空格有一个特殊的类。您的代码可以简化为:
Pattern.matches("\\s", <your_input>);
我想应该是
Pattern.matches("\\s",String.valueOf(input.charAt(i));
最好这样拆开......
Pattern pattern = Pattern.compile("\\s");
Matcher matcher = pattern.matcher("Your_Source_String");