Я пытаюсь создать макрос в Notepad++ для поиска IP-адресов, которые включают %
символ.
Итак, я пытаюсь найти IP-адреса, соответствующие следующим критериям:
10.x.x.x%2
Вот и все, я перепробовал много разных вариантов регулярных выражений и могу без проблем находить IP-адреса, но не могу добавить данные %2
к поиску; все способы, которые я пробовал, даже с кодами ASCII, терпят неудачу.
Мне нужно перебрать все 10.x.x.x%2
и изменить их на %1
. Проблема в том, что у меня есть куча 10.x.x.x%1
' в одном файле, и мне нужно, чтобы они остались.
Кстати, это конфигурация с устройства F5, а символ %
— это то, как мы различаем различные домены маршрутов.
решение1
- Ctrl+H
- Найти то, что:
(10(?:\.\d{1,3}){3})%2
- Заменить:
$1%1
- Replace all
Объяснение:
( : 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