Python Regex模式与首次出现不匹配,继续沿线进行

时间:2018-08-20 19:06:36

标签: python regex

我正在尝试编写一个快速脚本来美化passwd文件,以破解我正在处理的vm盒。我遇到了麻烦,因为正则表达式的抓取能力超出了我的期望。

我将其用作我的正则表达式模式:

passwd_line_regex = re.compile(r'[a-zA-Z0-9_]+:[a-zA-Z0-9:*&_/\ ]+[/-][a-zA-Z0-9_]+\s{1}')

然后我通过这个(较小的摘录):

root:*:0:0:Charlie &:/root:/bin/csh toor:*:0:0:Bourne-again Superuser:.....

并使用findall返回列表,但不是获取root::0:0:Charlie&:/ root:/ bin / csh AND toor::0:0:Bourne-再一次,我像这样将它们重新聚在一起:

['root:*:0:0:Charlie &:/root:/bin/csh toor:*:0:0:Bourne-again ', 'Superuser:/....

如何停止这种行为?我希望它在(/或-)example(space)第一次出现时停止,在这种情况下,在/ bin / csh的末尾停止,但是我试图查找所有条目,因此我需要从这一点继续与下一个条目。

0 个答案:

没有答案