Ответ 1
\.(?=.*\.)
Соответствует точке (\.
), после которой должна быть следующая точка ((?=.*\.)
).
(Предполагается, что механизм regex поддерживает lookahead, например PCRE, Python и т.д.)
Это моя строка: 50.00.00..00.00
Я хочу совместить все .
, кроме последнего, поэтому после замены я заканчиваю на 50000000.00
Может кто-нибудь помочь мне с этим?
\.(?=.*\.)
Соответствует точке (\.
), после которой должна быть следующая точка ((?=.*\.)
).
(Предполагается, что механизм regex поддерживает lookahead, например PCRE, Python и т.д.)
Итак, вы не указали свои инструменты, движок и т.д. Ну, вы можете сделать это, например. sed
(работает только если всегда есть две цифры после последнего dot
и всегда присутствует dot
):
echo "50.00.00..00.00" | sed 's/\.//;s/\(..\)$/.\1/'
Но есть несколько других способов, например. с регулярным выражением (если оно поддерживается для вас).
НТН