正则表达式与从格式化程序对象获取的换行符不匹配
我无法匹配包含换行符的字符串,当通过使用 in object 或 获取换行符时。请看以下程序:%n
Formatter
String.format()
public class RegExTest {
public static void main(String[] args) {
String input1 = String.format("Hallo\nnext line");
String input2 = String.format("Hallo%nnext line");
String pattern = ".*[\n\r].*";
System.out.println(input1+": "+input1.matches(pattern));
System.out.println(input2+": "+input2.matches(pattern));
}
}
及其输出:
Hallo
next line: true
Hallo
next line: false
这是怎么回事?为什么第二个字符串不匹配?
Java 版本是 1.6.0_21。