正規表現について質問があり、答えようとすると、別の奇妙なことがわかりました。
String x = "X";
System.out.println(x.replaceAll("X*", "Y"));
これはYYを印刷します。どうして??
String x = "X";
System.out.println(x.replaceAll("X*?", "Y"));
そしてこれはYXYを印刷します
気が進まない正規表現が「X」文字と一致しないのはなぜですか?ありますが"noting"X"nothing"
、なぜ最初に3つのシンボルに一致せず、2つに一致し、次に3つではなく1つに一致するのでしょうか。2番目の正規表現は"nothing"
sにのみ一致し、一致しませんX
か?