Используя подстановки замены в Notepad++

stat x, y, z,

x / y / z-это числа. Есть ли в notepad++ команда regex, которая позволяет мне заменить весь текст в файле, который соответствует шаблону(stat x, y, z, (имейте в виду, что числа, представляющие x/y/z, различаются)) таким образом, что он уменьшает x на 2, y и z на 1?

20
задан Gyugas
26.01.2023 19:17 Количество просмотров материала 3533
Распечатать страницу

1 ответ

нет вы не можете выполнять операции с группами захвата в соответствии со встроенным механизмом регулярных выражений. Что вы можете сделать, это быть очень умным и использовать регулярное выражение, чтобы автоматически написать скрипт, который будет делать работу, которую вы хотите, а затем запустить сценарий и затем сохраните результат этого скрипта.

регулярное выражение для захвата чисел:

^stat ?([0-9]+), ?([0-9]+), ? ([0-9]+)$

объяснение регулярного выражения:

  • ^ начало строки
  • строковый литерал"stat"
  • ? необязательный пробел
  • ([0-9]+) жадный матч любой номерной серии, 1 или более символов.
  • , запятая
  • ? необязательный пробел
  • ([0-9]+) жадный матч любой номерной серии, 1 или более символов.
  • , запятая
  • ? необязательный пробел
  • ([0-9]+) жадное соответствие любой номерной серии, 1 или больше персонажей.
  • $ конец строки

вы можете оставить это в поле поиска, пометив для поиска как поиск регулярных выражений. Затем в поле "заменить на" можно удалить следующее выражение:

@set /a sa=-2\n@set /a sb=-1\n@set /a sc=-1\necho stat %sa%, %sb%, %sc%\n

затем вы можете нажать replace-all и сохранить сгенерированный текст в пакетный файл и запустить его, который будет печатать измененные значения. Это не займет у вас 100% пути к полностью автоматизированному механизму. Вам нужно будет иметь дополнительный переменная, к которой вы добавляете каждую новую строку, а затем распечатываете ее только один раз, чтобы получить чистый вывод, который вы можете направить в файл. Но это дает вам 99% пути туда.

0
отвечен 2023-01-28 03:05

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх