1

Я модифицирую игру. Я хочу изменить определенные цифры, но мне нужно сделать это определенным образом.

Например:

солдат Jinetes, 24, 0, 1

Я хочу заменить число 24, но не изменять никакое другое значение в строке, но также изменять каждую другую строку, содержащую число 24 и начинающуюся с солдата.

Итак, любая строка, которая выглядит так:

Солдат ИМЯ, 24, #, #

Не затрагивая что-либо еще в этой строке и не имея возможности сделать это независимо от имени или других значений в этой строке.

Могу ли я сделать это? Как я могу это сделать?

2 ответа2

2

В регулярных выражениях Notepad++ используется стандарт PCRE

Я использовал онлайн-редактор regex101.com с FLAVOR, выбранным как « pcre ». Такое же регулярное выражение работает как шарм в N++.

Фиктивный ввод, который я использовал:

soldier NAME1, 24, 0, 1
soldier NAME2, 25, 1, 2
soldier NAME3, 26, 2, 3
soldier NAME4, 27, 3, 4
soldier NAME5, 28, 4, 5
soldier NAME6, 29, 5, 6
soldier NAME7, 30, 6, 7
machine NAME8, 24, 7, 8
Xsoldier NAME9, 24, 8, 9
soldier NAME10, 24, 9, 10

Ожидаемый результат:
Только первая и последняя строка должны быть изменены. Число «24» должно быть заменено новым значением.

Выражение регулярного выражения:

^soldier\s+(?:[^\,]+\,\s+)\K24(?=\,\s+\d+\,\s+\d+)

Теперь вы можете использовать стандартные Ctrl+H, «Найти что» должно быть заполнено выражением, а «Заменить» новым значением. Убедитесь, что установлен флажок «Обтекание», а для параметра «Режим поиска» установлено значение «Регулярное выражение».

Нажатие на «Заменить все» заменит все числа «24» новым указанным значением.

0

Да, вам нужно использовать регулярное выражение

Также см. Учебник

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .