Đây là chuỗi của tôi: 50.00.00..00.00
Regular Expression tất cả các nhân vật ngoại trừ cuối cùng một
Tôi muốn để phù hợp với tất cả .
trừ người cuối cùng, vì vậy sau một thay thế tôi kết thúc với 50000000.00
ai đó có thể giúp tôi với điều này ?
Đây là chuỗi của tôi: 50.00.00..00.00
Regular Expression tất cả các nhân vật ngoại trừ cuối cùng một
Tôi muốn để phù hợp với tất cả .
trừ người cuối cùng, vì vậy sau một thay thế tôi kết thúc với 50000000.00
ai đó có thể giúp tôi với điều này ?
\.(?=.*\.)
Trận một dấu chấm (\.
), đó có phải là một dấu chấm sau nó ((?=.*\.)
).
(Điều này giả định động cơ regex hỗ trợ lookahead, ví dụ PCRE, Python, vv)
Cảm ơn bạn đã làm việc này! Tôi đã cố gắng rất nhiều với lookahead, không thể làm cho nó hoạt động được. Chúc mừng! – malamili
Hoạt động tốt với JavaScript. Bạn có thể nhận được regex của bạn giải thích [ở đây] (http://rick.measham.id.au/paste/explain.pl?regex=%5C.%28%3F%3D.*%5C.%29) – mayrs
Hoạt động tốt với Java. – Gautam
Vì vậy, bạn không quy định cụ regex của bạn, động cơ, vv Vâng bạn có thể làm điều này với ví dụ sed
(chỉ có tác dụng nếu luôn luôn có hai chữ số sau cuối dot
và cuối cùng dot
phải lúc nào cũng có mặt):
echo "50.00.00..00.00" | sed 's/\.//;s/\(..\)$/.\1/'
Nhưng có một số cách khác, ví dụ với regex lookahead (nếu nó được hỗ trợ cho bạn).
HTH
Có lẽ tôi đã đề cập đến điều đó, tôi đang sử dụng Java. Và câu trả lời của KennyTM đã làm việc cho tôi. Dù sao cũng cảm ơn! – malamili
Bạn có thể đăng mẫu regex hiện đang sử dụng không? – user1231231412