我正在尝试使用python脚本解析git命令的输出。为此,假设我们要查找所有处于git状态的修改和添加的文件,然后我们将执行以下操作:
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:']
模式中有一个明确的.*
表达式,它应该一直匹配到行尾,为什么不是呢?