Как извлечь IP-адрес из строки журнала с помощью регулярного выражения и Notepad++

у меня такие строки из лог-файла

rule family="ipv4" source address="54.246.81.158" reject
rule family="ipv4" source address="175.36.129.24" reject

как я могу сопоставить IP-адрес из каждой этой строки, а затем заменить исходный на соответствующий IP-адрес с помощью регулярного выражения в текстовом редакторе Notepad++?

ожидаемый результат:

54.246.81.158
175.36.129.24

Я предпочитаю, чтобы достичь цели usig regexp и найти и заменить только.
Если это вообще возможно в Notepad++
Я знаю, что могу использовать функциональность макросов, но не хочу так поступать.

Так, во-первых, мы будем соответствовать IP с помощью регулярных выражений (d{1,3}.d{1,3}.d{1,3}.d{1,3}). Во-вторых, мы заменим исходную строку на IP из Шага #1
Но я не уверен, возможно ли когда-либо использовать Notepad++.
Если мне это не удастся, я буду использовать vim: -)

11
задан Twissell
19.01.2023 9:19 Количество просмотров материала 2688
Распечатать страницу

2 ответа

  • Ctrl+H
  • найти: ^.+?((?:\d+\.){3}\d+).+$
  • заменить на:
  • проверить обернуть вокруг
  • проверить регулярное выражение
  • НЕ ПРОВЕРЯТЬ . matches newline
  • заменить все

объяснение:

^           : beginning of line
.+?         : 1 or more any character but newline
(           : start group 1
  (?:       : start non capture group
    \d+     : 1 or more digit
    \.      : a dot
  ){3}      : end group, must appear 3 times
  \d+       : 1 or more digit
)           : end group 1
.+          : 1 or more any character but newline
$           : end of line

замена:

          : content of group 1 (ie. the IP)

результат данного примера:

54.246.81.158
175.36.129.24

чтобы убедиться, что у вас есть IP-адрес, используйте

((?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?\.){3}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))

вместо

((?:\d+\.){3}\d+)
0
отвечен Toto 2023-01-20 17:07

более простое решение, но не использование RegEx:

заменить

rule family="ipv4" source address="

, а

" reject

ни с чем.

0
отвечен pbies 2023-01-20 19:24

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

Ваш ответ

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

Имя
Вверх