git commit-msg hook 的正则表达式问题

Problem with Regex for git commit-msg hook

我正在尝试写入 git commit-msg 挂钩以在提交之前检查我的提交文本格式。我希望提交类似于“AJ-XX sometext”。其中 XX 是数字,然后是 space 和一些文本。我的代码不起作用,我 99% 确定我的正则表达式有误,你能帮我写出正确的代码吗? 看起来像这样:

export REGEX='(AJ'-'0-90-9 )'
export ERROR_MSG="Commit message format must match regex \"${REGEX}\""

它应该接受这样的东西 - “AJ-54 这是提交”

您可以尝试以下 POSIX ERE 兼容的正则表达式:

export REGEX='^AJ-[0-9]{2} .*'

如果您的正则表达式风格是 POSIX BRE,您可以使用

export REGEX='^AJ-[0-9]\{2\} .*'

如果您不能使用正则表达式并且只能使用通配符/glob 模式,您可以使用

export REGEX='AJ-[0-9][0-9] *'