gpt4 book ai didi

python - 捕获 git log 输出中所有 git commit 页脚/尾部行的正则表达式是什么?

转载 作者:行者123 更新时间:2023-12-01 06:02:41 24 4
gpt4 key购买 nike

我正在编写一个脚本来从每个 git 提交消息中删除 git 提交标签(例如 Signed-off-by:, Reviewed-by:)。目前该脚本是Python 语言。现在我有一个非常简单的 re.match("Signed-off-by:", line) 检查。但我认为应该有更优雅的使用正则表达式的解决方案。

我假设页脚将以 [更多单词用 - 分隔] 开头:例如

错误:、问题:、审核者:、测试者:、确认者:、建议者:、签署者:

该模式应忽略大小写。我需要帮助想出一个使用正则表达式的解决方案。我也想了解更多关于 RE 的知识,什么是一个好的起点?

实际的Python脚本在这里https://gerrit-review.googlesource.com/#/c/33213/2/tools/gitlog2asciidoc.py

如果您注册了帐户,还可以对脚本发表评论。

谢谢

最佳答案

>>> def match_commit(s):
r = re.compile(r'((\w+*)+\w+:)')
return re.match(r, s) is not None

>>> match_commit("Signed-off-by:")
True
>>> match_commit("Signed-off+by:")
False
>>> match_commit("Signed--by:")
False
>>> match_commit("Bug:")
True
>>> match_commit("Bug-:")
False

第一组 (\w+-)* 捕获 0 到模式“word + '-'”的任何重复,最后一组 \w+: 查找最后一个词 + ':'。

关于python - 捕获 git log 输出中所有 git commit 页脚/尾部行的正则表达式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9467315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com