[英]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.