[英]JAVA - Regular Expressions : Unclosed Character Class
以下引发异常:
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");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.