置換を使って、 小数第4位以下の数字を削除する。 また、小数第3位は0なら削除する。 置換前 置換後
123 456. 789.0 789.000 789.0000 789.1 123.45 123.4567 123.450 123.4500 123.456
(?<=\.[0-9]{2})(?:0|([^0]))[0-9]*$ を \1 に置換 別解 ((?<=\.[0-9]{2}[1-9])|(?<=\.[0-9]{2}(?=0)))[0-9]*$ を削除
後方参照を使う方法が分かりやすいでしょう。 別解のように、肯定戻り読みの論理和を使ってもいいです。