所需输出: 爪哇 1个 8 真正 此代码产生的输出 爪哇 1个 8 假 应该怎么做才能返回真实值?输入的模式为[字符串] [点] [数字] [点] [数字]。
String st=java 1.8;
String regex="[\\s\\.]";
Pattern p=Pattern.compile(regex);
String []s2=p.split(st);
for(String a:s2)
System.out.println(a);
System.out.println(p.matches(st,regex));
} }
答案 0 :(得分:1)
您正在分割字符串-因此它将在字符串上搜索该正则表达式的部分。
当您使用matches
(它是静态的并且参数是相反的顺序)时,您将匹配 entire 字符串。
例如:
System.out.println(Pattern.matches(regex, st));
其中regex
将更改为".+[\\s\\.].+"
的地方将打印true
。