java中带\n的字符串的正则表达式
public static boolean regexPattern(String string) {
Pattern pattern = Pattern.compile("\\d{2}.\\d{2} \\w+\n");
return pattern.matcher(string).matches();
}
String value = "11:20 morning\n" + "11:30 morning\n";
System.out.println(filtersByRegex.regexPattern(value));
上述方法每次都返回“false”。有人能帮我修一下吗
附言:我试着处理:[\r-\n]模式。多托
# 1 楼答案
请记住
.matches()
尝试匹配完整字符串(如文档所述)。但是你的正则表达式一次只匹配一行。如果要检查某个点的字符串是否有匹配的结果,应该使用.find()
。它将返回true
,因为至少有一个匹配项。如果你想寻找两条日期相同的线,你应该选择如下模式:这是可以改进的,但要点是