我正在尝试使用Regexp匹配Nmap命令的输出。可以有两种不同的格式。
第一种格式(当nmap可以找到主机名时)
Nmap scan report for 2u4n32t-n4 (192.168.2.168)
和第二种格式(没有主机名)
Nmap scan report for 192.168.2.1
我想捕获主机名和ipaddress,如果没有主机名,只需将Ip作为主机名,就像第二种格式一样。
到目前为止,我在Golang中尝试使用的是
Nmap scan report for\\s+([^[:space:]]+)(\\s+\\(([^[:space:]]+)\\))?
但是我在golang中得到了什么
第一种格式(它给了我(192.168.2.168)
我不想要的)如下:
[Nmap scan report for 2u4n32t-n4 (192.168.2.168), 2u4n32t-n4 , (192.168.2.168) , 192.168.2.168]
和第二种格式(它给了我我不想要的)如下:
[Nmap scan report for 192.168.2.1, 192.168.2.1, ]
正确做什么?