首页 > 解决方案 > 正则表达式只匹配字符串的开头

问题描述

我正在尝试使用 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:']

模式中有一个显式.*表达式,它应该一直匹配到行尾,为什么不呢?

标签: pythonregexparsing

解决方案


推荐阅读