java.matches()不匹配
我有一段代码:java.matches()不匹配,java,regex,Java,Regex,我有一段代码: String myString; boolean myResult; myString = "First\nSecond\nThird\nFourth"; myResult = myString.matches("First.*"); myResult = myString.matches(".*First.*"); myResult = myString.matches(".*Second.*"); myResult = myString.matches("First\nSe
String myString;
boolean myResult;
myString = "First\nSecond\nThird\nFourth";
myResult = myString.matches("First.*");
myResult = myString.matches(".*First.*");
myResult = myString.matches(".*Second.*");
myResult = myString.matches("First\nSecond\nThird\nFourth");
最后一个返回true,其余的都是false
我想上面所有的表达都会变成真的。我还需要找到以“First”开头的字符串,我原以为First.matches()会覆盖它,但它没有。它应该是什么样子?*可能不匹配\n
将上次匹配模式中的一个替换为。看看会发生什么 *可能不匹配\n 将上次匹配模式中的一个替换为。看看会发生什么 请参见: 。任何字符(可能与行终止符匹配,也可能不匹配) 见: 。任何字符(可能与行终止符匹配,也可能不匹配)
默认情况下,点与行尾字符不匹配,但如果在正则表达式字符串前面加上(?s),则它将与它们匹配。这将启用匹配标志。默认情况下,点不匹配行尾字符,但如果在正则表达式字符串前面加上(?s),则它将与它们匹配。这将启用匹配标志。您可以尝试按字面指定\n\r:
myResult = myString.matches("First(.|[\n\r])*")
您可以尝试按字面指定\n\r:
myResult = myString.matches("First(.|[\n\r])*")