python - 正则表达式只匹配字符串的开头
问题描述
我正在尝试使用 python 脚本解析 git 命令的输出。为此,假设我们想在 git status 中查找所有修改和添加的文件,那么我们将执行以下操作:
import glob
import os
import re
import git
def main():
g = git.cmd.Git('./')
layout_pattern = '(modified:|new file:).*'
matches = re.findall(layout_pattern, g.status())
print(matches)
if __name__ == "__main__":
main()
但是,python 的输出被截断:
['modified:', 'new file:', 'modified:', 'modified:']
模式中有一个显式.*
表达式,它应该一直匹配到行尾,为什么不呢?
解决方案
推荐阅读
- cmake - 是否可以在 cmake 中获取目标文件名?
- python - 为什么 matplotlib 不显示特定的数学文本
- visual-studio-code - 如何在我的 vscode 扩展中获取最新版本号?
- azure-devops - Azure DevOps 扩展项目名称返回 externalContentHost512
- c# - 将 CustomControl 的可视状态管理器与其样式分开
- python - NumPy 中是否有多个范围?
- oracle - 从员工表中删除行
- amazon-web-services - KMS 的多区域策略
- javascript - 未捕获的类型错误:无法读取空 VSCODE 的属性“querySelectorAll”
- qt - 如何在 Qml / Private Slots 中隐藏 C++ 插槽