如何编写正则表达式只从这个字符串输出中获取用户

时间:2017-03-10 11:52:18

标签: python regex

考虑下面我的python子进程模块的输出。现在从这里我想抓住第一个用户名,只有root,daemon和continuew。我试过但不能写出确切的正则表达式来获取用户。

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin

2 个答案:

答案 0 :(得分:1)

根据您的意见,您首先不是正则表达式。因此,您可以逐行迭代输出(str.splitlines()),将行与:str.split(':'))分开并获取第一个结果(result[0])。这期望输出保持一致,否则它将失败。

答案 1 :(得分:0)

使用split而不是regex

for line in output.split('\n'):
     print line.split(':')[0]
>>>root
>>>daemon
....