我有一个像这样的文本文件
Nmap scan report for 192.168.2.1
Host is up (0.023s latency).
PORT STATE SERVICE
5001/tcp closed commplex-link
MAC Address: EC:1A:59:A2:84:80 (Belkin International)
Nmap scan report for 192.168.2.2
Host is up (0.053s latency).
PORT STATE SERVICE
5001/tcp closed commplex-link
MAC Address: 94:35:0A:F0:47:C2 (Samsung Electronics Co.)
Nmap scan report for 192.168.2.3
Host is up (0.18s latency).
PORT STATE SERVICE
5001/tcp filtered commplex-link
MAC Address: 00:13:CE:C0:E5:F3 (Intel Corporate)
Nmap scan report for 192.168.2.6
Host is up (0.062s latency).
PORT STATE SERVICE
5001/tcp closed commplex-link
MAC Address: 90:21:55:7D:53:4F (HTC)
我想找到端口5001关闭(未过滤)的所有IP。我试着用下面的逻辑找到所有这些IP
^{pr2}$我希望输出是
192.168.2.1
192.168.2.2
192.168.2.6
但是我没有得到想要的输出。输出只是一个项目,如下所示:
('192.168.2.1', '\nHost is up (0.023s latency).\nPORT STATE SERVICE\n5001/tcp closed commplex-link\nMAC Address: EC:1A:59:A2:84:80 (Belkin International)\n\nNmap scan report for 192.168.2.2\nHost is up (0.053s latency).\nPORT STATE SERVICE\n5001/tcp closed commplex-link\nMAC Address: 94:35:0A:F0:47:C2 (Samsung Electronics Co.)\n\nNmap scan report for 192.168.2.3\nHost is up (0.18s latency).\nPORT STATE SERVICE\n5001/tcp filtered commplex-link\nMAC Address: 00:13:CE:C0:E5:F3 (Intel Corporate)\n\nNmap scan report for 192.168.2.6\nHost is up (0.062s latency).\nPORT STATE SERVICE\n5001/tcp )
我哪里出错了?在
解决方案: 下面的逻辑对我有用。如果有人有更好的答案,请告诉我。在
^{3}$
您可以:
这里不需要^{} 。
s
修饰符将点元字符(.
)的含义从“匹配所有内容除换行符”改为“匹配所有内容包括换行字符”。你不需要这个。在第二个捕获组也不需要。您只需删除它就可以只返回IP:
由于行格式似乎总是相同的(ip从偏移量21开始,在下一个空格处结束),您可以在不使用regex的情况下尝试另一种方法:
相关问题 更多 >
编程相关推荐