javadocによると:
パターンに一致する入力シーケンスのすべてのサブシーケンスを、指定された置換文字列に置き換えます。
これは、一致が行われない限り、この呼び出しが置き換えられないことを示しているようです。
そしてまだ:
public class MisMatch {
public static void main(String args[]){
Pattern doubleSlash = Pattern.compile("\\\\");
String stringWithSingleSlash = "maybe\\no";
System.out.println("Matches:"+doubleSlash.matcher(stringWithSingleSlash).matches());
String replace = doubleSlash.matcher(stringWithSingleSlash).replaceAll("ABC");
System.out.println(replace);
System.out.println("Equal:"+(stringWithSingleSlash.equals(replace)));
}
}
これは印刷します:
一致:false
多分ABCno
等しい:false
- したがって、一致していませんが、それでも置き換えられます。ここで何が欠けていますか?