У меня есть этот текст с цифрами:
My numbers are 04, and 0005
My numbers are 05, and 0006
My numbers are 06, and 0035
My numbers are 07, and 0007
My numbers are 08, and 0009
Это код, который я всегда использовал для увеличения или уменьшения чисел в выделении / выделении блока / столбце: p.e. увеличить последние 4 числа в тексте выше на 8:
'<,'>s/\%V\<\d\{4}\>/\=submatch(0)+8/g
но сегодня я заметил, что он делает странные вещи. Это результат:
My numbers are 04, and 13
My numbers are 05, and 14
My numbers are 06, and 37 <---
My numbers are 07, and 15
My numbers are 08, and 17
- он удаляет ведущие нули (я хотел бы сохранить их, если есть ведущие нули, и не добавлять их, если нет ведущих нулей)
- он добавил 8 ко всем числам, кроме 37, где он добавил 2. (почему?)
Может ли кто-нибудь помочь мне найти регулярное выражение для добавления / вычитания чисел из выделения (или выделения блока) без потери начальных нулей?
примечание:
Я заметил, что Control A + Control x сохраняет начальные нули и выполняет работу так, как я хочу, но:
- Я видел, что его нельзя использовать в замещающей команде ('‹,'> s /)
- и я не знаю, как добавить pe 200 в список номеров (200 х?)