这段代码我觉得应该打印出true啊~~可是怎么老是false
String patternStr = "FAIL:\\s?.*\\r?\\n";
String str = "Summary\n" +
"SKIP: jjddf\n" +
"PASS: lalala\n" +
"FAIL: GOOD LUCK\n" +
"SKIP: WHY\n";
Pattern p = Pattern.compile(patternStr, Pattern.MULTILINE);
Matcher m = p.matcher(str);
boolean result = m.matches();
System.out.println(result);
String patternStr = "FAIL:\\s?.*\\r?\\n";
String str = "Summary\n" +
"SKIP: jjddf\n" +
"PASS: lalala\n" +
"FAIL: GOOD LUCK\n" +
"SKIP: WHY\n";
Pattern p = Pattern.compile(patternStr, Pattern.MULTILINE);
Matcher m = p.matcher(str);
boolean result = m.matches();
System.out.println(result);
matches()是查看正则是否匹配源字符串的整体,相当于在正则的首尾分别加了“^”和“$”的限制而你的例子,显然是匹配了其中的子串,而不是源字符串的整体所以这里用find()而不用matches()