我有一个这样的大型文本文件:
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
。搜索了互联网并尝试了一些方法,但没有奏效。
答案1
正则表达式替换:
^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/[0-9]+)(.+)
到:
\1
当然,RegEx 可能会更好......
答案2
使用较短的正则表达式的另一种解决方案:
- Ctrl+H
- 找什么:
^(?:\d{1,3}\.){3}\d{1,3}/\d+\K.*$
- 用。。。来代替:
NOTHING
- 检查环绕
- 检查正则表达式
- 请勿检查
. matches newline
- Replace all
解释:
^ : 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