python - 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-again,而是像这样将它们重新组合在一起:
['root:*:0:0:Charlie &:/root:/bin/csh toor:*:0:0:Bourne-again ', 'Superuser:/....
我怎样才能阻止这种行为?我希望它在第一次出现 (/ 或 -)example(space) 时停止,在这种情况下,在 /bin/csh 的末尾,但我试图找到所有条目,所以我需要从那一点继续与下一个条目。
解决方案
推荐阅读
- gnuplot - 如何在gnuplot中使用列头的子字符串?
- git - git stash -u 将未跟踪的文件留在工作目录中
- python - 如何使用 python boto3 从多个 AWS 账户生成 EC2 库存
- php - 使用 PHP Mysql Flutter 用户特定的推送通知
- node.js - 我们可以使用 node.js 从 Apache solr 获取数据到我们的网站吗?
- android - Flutter:无法加载资产图像提供者:AssetImage(bundle:null,名称:“assets/images/rose.jpg”)
- reactjs - TypeScript React 功能组件 - 缺少类型“元素”的以下属性:类型、道具、键错误
- python - gRPC 和断管
- c - C - 无法在函数中复制字符串
- reactjs - webpack 5 module.hot 未定义