2017-01-12 7 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'] 

また、テキストは[]の有無にかかわらず例:

tcp4  0  0 localhost.53019  localhost.53920  ESTABLISHED 

正規表現は何が欠けていますか?

+0

あなたは何が改善できるか尋ねていますか?または正規表現があなたのニーズに対応していないのですか? –

+1

're.split(" \ s {2、} "、text)'、もしあなたが何を求めているのか分かっていれば。 – Abdou

+1

私は正規表現を書くためのこのリソースを強く推奨しています:http://regexr.com/ – Narek

答えて

0

デリミタの式に大括弧(\[および\])を含めるので、項目には表示されません。