Извлечь IP CIDR из текстового файла

0

У меня есть большой текстовый файл, как это:

103.195.100.0/22     ReliableSite.Net LLC   1,024
103.214.69.0/24  Gestion DBI    256
103.238.80.0/22  Cloudone Technology Company Limited    1,024
103.43.72.0/22   Choopa, LLC    1,024
104.128.72.0/23  ReliableSite.Net LLC   512
...

и я только хочу сохранить IP CIDR как 103.195.100.0/22, Искал в интернете и пробовал несколько способов, но не работал.

Aria Fathi
источник
1
Какое регулярное выражение вы использовали и почему оно не сработало?
mtak
@mtak /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,3})/g с новой строкой проверено, но не работает
Aria Fathi

Ответы:

0

RegEx заменить:

^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/[0-9]+)(.+)

чтобы:

\1

RegEx, конечно, может быть лучше ...

Блокнот ++ регулярные выражения

Notepad++ RegEx replace dialog

g2mk
источник
Сработало спасибо. Нет ли других способов просто экспортировать все ip/nn с веб-страницы? Я использую этот сайт, чтобы получить диапазоны: ipinfo.io/AS20473
Aria Fathi
Если в вашем браузере есть консоль, вы можете написать функцию javascript для извлечения этой информации прямо с веб-страницы ...
g2mk
0

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

  • Ctrl + ЧАС
  • Найти то, что: ^(?:\d{1,3}\.){3}\d{1,3}/\d+\K.*$
  • Заменить: NOTHING
  • проверить обернуть
  • проверьте регулярное выражение
  • НЕ ПРОВЕРИТЬ . matches newline
  • Заменить все

Объяснение:

^           : Beginning of line
(?:         : start non capture group
  \d{1,3}   : 1 upto 3 digits
  \.        : a dot
){3}        : end capture group, must appear 3 times
\d{1,3}     : 1 upto 3 digits
/           : a slash
\d+         : 1 or more digits
\K          : forget all we have seen until this position
.*$         : rest of the line, 0 or more any character but newline

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

103.195.100.0/22
103.214.69.0/24
103.238.80.0/22
103.43.72.0/22
104.128.72.0/23
Toto
источник