Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python分割特定的nmap输出_Python_Regex - Fatal编程技术网

Python分割特定的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

我从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)),但我根本无法获得,它一直将每个单词都放在条目中。我甚至试过

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,非常感谢,非常感谢