Python分割特定的nmap输出
我从nmap中获得了以下输出,我正试图像nmap一样将其拆分为多个部分,如下所示:Python分割特定的nmap输出,python,regex,Python,Regex,我从nmap中获得了以下输出,我正试图像nmap一样将其拆分为多个部分,如下所示: PORT | STATE | SERVICE | VERSION 输出如下所示: 2000/tcp open cisco-sccp? 3000/tcp open http Apache httpd 2.2.3 ((CentOS)) 我尝试使用string.split(),但它一直在自己的条目中为我提供所有信息,因此最终我尝试获得的是“ApacheHttpD2.2.3((CentOS
PORT | STATE | SERVICE | VERSION
输出如下所示:
2000/tcp open cisco-sccp?
3000/tcp open http Apache httpd 2.2.3 ((CentOS))
我尝试使用string.split(),但它一直在自己的条目中为我提供所有信息,因此最终我尝试获得的是“ApacheHttpD2.2.3((CentOS)),但我根本无法获得,它一直将每个单词都放在条目中。我甚至试过
re.split('\s+', string)
但这也会产生同样的结果。非常感谢您的帮助。这不是一个通用的解决方案,但对于这个特定的示例,我认为只需指定一个
maxplit
即可:
In [7]: re.split(r'\s+', '3000/tcp open http Apache httpd 2.2.3 ((CentOS))', 3)
Out[7]: ['3000/tcp', 'open', 'http', 'Apache httpd 2.2.3 ((CentOS))']
这告诉它拆分3次,但剩下的就保持原样
短线只是较短,没有4项:
In [8]: re.split(r'\s+', '2000/tcp open cisco-sccp?', 3)
Out[8]: ['2000/tcp', 'open', 'cisco-sccp?']
完美,正是我想要的,不知道maxsplit,非常感谢,非常感谢