Notepad ++ Regex procura por IP com caracter especial

1

Estou tentando criar uma macro no Notepad ++ para encontrar endereços IP que incluam um símbolo % .

Então, estou tentando encontrar endereços IP que atendem a esse critério:

10.x.x.x%2

É isso, tentei muitas variações de regex diferentes e posso encontrar os IPs sem problemas, mas não consigo acrescentar %2 à pesquisa; todas as formas que tentei mesmo com códigos ASCII falharam.

Eu tenho que percorrer todo o 10.x.x.x%2 e alterá-los para %1 . A pegadinha é que eu tenho um monte de 10.x.x.x%1 no mesmo arquivo e preciso que eles permaneçam.

A propósito, esta é uma configuração de um dispositivo F5, e o símbolo % é como distinguimos diferentes domínios de rota.

    
por hubdows 30.08.2017 / 20:13

1 resposta

1
  • Ctrl + H
  • Encontre o que: (10(?:\.\d{1,3}){3})%2
  • Substituir por: $1%1
  • Substituir todos

Explicação:

(               : 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
  • Verifique a expressão regular
  • NÃO VERIFIQUE . matches newline

Substituição:

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

Eu assumi que existem apenas endereços IP em cada linha. Se você quiser corresponder especificamente a endereços IP, remova (?:\.\d{1,3}){3}) com (?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}) , então:

  • Encontre o que: (10(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})%2
  • Substituir por: $1%1
por 30.08.2017 / 20:31