Регулярное выражение всех символов, кроме последнего

Это моя строка: 50.00.00..00.00

Я хочу совместить все ., кроме последнего, поэтому после замены я заканчиваю на 50000000.00

Может кто-нибудь помочь мне с этим?

Ответ 1

\.(?=.*\.)

Соответствует точке (\.), после которой должна быть следующая точка ((?=.*\.)).

(Предполагается, что механизм regex поддерживает lookahead, например PCRE, Python и т.д.)

Ответ 2

Итак, вы не указали свои инструменты, движок и т.д. Ну, вы можете сделать это, например. sed (работает только если всегда есть две цифры после последнего dot и всегда присутствует dot):

echo "50.00.00..00.00" | sed 's/\.//;s/\(..\)$/.\1/'

Но есть несколько других способов, например. с регулярным выражением (если оно поддерживается для вас).

НТН