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.*")));
“真实”的字符串不匹配,而“测试”串一样。如果我从while代码块中删除+"\n"
,则它匹配正则表达式。我认为.*
也适用于新生产线?Java字符串正则表达式匹配失败并换行?
断行通常不是'正则表达式.'一部分。您通常需要专门告诉正则表达式来引用它们。然而,String类中的方便方法'matches()'不会允许你这样做。你很可能需要建立一个'Pattern'并从中创建一个'Matcher'。在那里你可以设置适当的标志来实现这一点。 –
@Till:(?S)内联改性剂,'',在这种情况下使用(如子宫颈的答复中提到)。 –