1

Я пытаюсь создать макрос в Notepad++, чтобы найти IP-адреса, которые включают символ % .

Итак, я пытаюсь найти IP-адреса, которые соответствуют этим критериям:

10.x.x.x%2

Вот и все, я пробовал много разных вариантов регулярных выражений и могу найти IP-адреса без проблем, но я не могу добавить %2 к поиску; каждый способ, который я пробовал даже с кодами ASCII, терпит неудачу.

Я должен перебрать все 10.x.x.x%2 и изменить их на %1 .  Суть в том, что у меня есть куча 10.x.x.x%1 в одном файле, и мне нужно, чтобы они остались.

Кстати, это конфигурация устройства F5, и символ % показывает, как мы различаем разные домены маршрутов.

1 ответ1

1
  • Ctrl+H
  • Найдите что: (10(?:\.\d{1,3}){3})%2
  • Заменить на: $1%1
  • Заменить все

Объяснение:

(               : start group 1
  10            : literally 10
  (?:           : start non capture group
    \.\d{1,3}   : a dot followed by 1 to 3 digits
  ){3}          : group must appear 3 times
)               : end group 1
%2              : literally %2
  • Проверьте регулярное выражение
  • НЕ ПРОВЕРИТЬ . matches newline

Замена:

$1      : content of group 1
%1      : literally %1

Я предположил, что в каждой строке есть только IP-адреса. Если вы хотите точно сопоставить IP-адреса, замените (?:\.\d{1,3}){3}) на (?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}) так:

  • Найти что: (10(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})%2
  • Заменить на: $1%1

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