2017-01-12 97 views
0

我有以下字符串:解析表達式 - Python的

'unix 2  [ ACC ]  STREAM  LISTENING  18135 /run/user/1000/systemd/private' 

所以我想使用Python的re模塊來解析它:

import re 
text = 'unix 2  [ ACC ]  STREAM  LISTENING  18135 /run/user/1000/systemd/private' 
>>> re.split(r'\s+[\[?\s+\]]', text) 
['unix', '2', ' ACC', '', 'STREAM', 'LISTENING', '18135', '/run/user/1000/systemd/private'] 

而預期表現會:

['unix', '2', '[ ACC ]', 'STREAM', 'LISTENING', '18135', '/run/user/1000/systemd/private'] 

另外,文本可以帶或不帶[],對於e xample:

tcp4  0  0 localhost.53019  localhost.53920  ESTABLISHED 

缺少什麼我在我正則表達式的表達?

+0

你問有什麼可以改進?或者是正則表達式不能滿足您的需求? –

+1

're.split(「\ s {2,}」,text)',如果我明白你在問什麼。 – Abdou

+1

我強烈建議您使用此資源編寫正則表達式:http://regexr.com/ – Narek

回答

0

您在分隔符的表達式中包含括號(\[\]),因此它們不會出現在項目中。