为什么会失败?
String n = "h107";
if (n.matches("\\D+")) {
System.out.println("non digit in it");
}
我为此彻夜难眠,但仍然没有弄懂。 现在我有一个解决方案:
if (n.matches(".*\\D+.*")) {
但是在我的理解中(也许是缺乏知识),第一个也应该匹配。因为如果它必须匹配完整的字符串,那么'^'字符表示行开头有什么意义呢。