【发布时间】:2020-04-16 06:39:05
【问题描述】:
我有以下脚本:
valid_branch_regex="^(feature|bugfix|improvement|library|prerelease|release|hotfix)\/(?=[A-Z]{1,}-[0-9]{1,}).{3,9}\/[a-z0-9._-]+$"
local_branch="$(git rev-parse --abbrev-ref HEAD)"
[[ $local_branch =~ $valid_branch_regex ]] && echo matched
如果local_branch 是feature/III-111/some-name,为什么它不打印“匹配”?
【问题讨论】:
-
请为您的
git rev-parse --abbrev-ref HEAD命令显示示例输出。 -
@lurker feature/III-111/some-name
-
@VladislavPokosenko 如果您删除
?=和.{3,9},则您的正则表达式匹配。你不必同时转义/,但你应该双引号你的$local_branch变量(测试的左侧)。 -
所以您想检查
III-111部分的长度只能是3 到9 个字符并匹配[A-Z]+-[0-9]+模式吗? -
@WiktorStribiżew,是的。
[A-Z]和[0-9]最小长度为 1。