%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
ここで何が起こっているのですか?2番目の文字列が一致しないのはなぜですか?
Javaのバージョンは1.6.0_21です。