私は何時間もかけて、未知の数の連続した数字に一致する正規表現ステートメントを取得しようと試みてきました。[0-9]* または [\d]* は、Java の String.replaceAll を使用すると、正規表現と一致してはならない場所に置換文字列が追加されます。
例: 「This is my99String problem」という入力文字列がある場合、置換文字列が「~」の場合
これを実行すると
myString.replaceAll("[\\d]*", "~" )
また
myString.replaceAll("[0-9]*", "~" )
私の戻り文字列は "~T~h~i~s~ ~i~s~ ~m~y~~S~t~r~i~n~g~ ~p~r~o~b~l~e~ま~」
ご覧のとおり、数字は置き換えられていますが、文字の間に置換文字列が追加されているのはなぜですか。
「これは私の〜文字列の問題です」のように見せたい
私は何を間違っていますか、なぜJavaはこのように一致していますか。