У меня есть следующее регулярное выражение: (?<=\.\d+?)0+(?=\D|$)
Я запускаю его для строки, содержащей следующее: SVC~NU^0270~313.3~329.18~~10~~6.00:
Когда он работает, он соответствует 6.00 (правильно), который моя логика обрезает на один ноль, чтобы превратить в 6.0. Затем регулярное выражение запускается снова (или должно), но не может получить 6.0.
Я ни в коем случае не эксперт по Regex, но мое понимание моего выражения таково, что он ищет десятичную с 1 или более необязательными (то есть действительно нулем или более) цифрами перед одним или несколькими нулями, сопровождаемый любым нецифровым символом или переводом строки. Предполагая, что интерпретация правильная, я не могу понять, почему она не будет соответствовать на втором проходе. В этом отношении я не уверен, почему мой Regex.Replace
не соответствует полному 6.00 на первом проходе и удаляет оба конечных нуля ...
Есть предложения?