StringBuilder testSB = new StringBuilder();
String testString = "error 1:";
int times = 0;
while(times<=10){
testSB.append(testString +"\n");
times++;
}
String testResponse = "error 1:";
String realResponse = testSB.toString();
Log.i("REAL", String.valueOf(realResponse.matches(".*error.*")));
Log.i("TEST", String.valueOf(testResponse.matches(".*error.*")));
“real”字符串不匹配,而“test”字符串则匹配。如果我从while块中删除+"\n"
,则它与regexp匹配。我以为.*
也适用于新行?
答案 0 :(得分:6)
.
与换行符不匹配,但如果您在正则表达式的开头添加(?s)
开关,则会出现。
答案 1 :(得分:1)
.
是否与行终止符匹配取决于是否激活了MULTILINE
模式。
请参阅java.util.regex.Pattern的java文档。