提取模式为digital . digital .digit的所有git标签



我有一个git标签列表:

0.0.1
0.0.1-rc.0
0.0.1-rc.1
0.1.0
0.10.0
0.10.1-rc.0
0.11.0
0.11.1-rc.0
0.12.0
0.12.1-rc.0
0.13.0
0.13.1-hotfix.0
0.13.1-rc.0
0.14.0
0.14.1-rc.0
0.15.0
0.15.1-rc.0
0.16.0
0.16.1-rc.0
0.17.0
0.17.1-rc.0
0.18.0
0.18.1-hotfix.0

我的目标是提取具有此模式的所有标记:digital . digital .digit。这些标签是:

0.0.1, 0.1.0, 0.10.0 , 0.11.0, 0.12.0, 0.13.0, 0.14.0, 0.15.0, 0.16.0, 0.17.0, 0.18.0, 0.10.0

我试过这些表达式,没有一个能给我想要的结果:

git tag --list "[[:digit:]].[[:digit:]].[[:digit:]]" :
0.0.1
0.1.0
git tag --list "[[:digit:]]+.[[:digit:]]+.[[:digit:]]+" : no result

任何想法?

git tag --list接受通配符(glob)模式,而不是正则表达式。所以尝试

git tag -l '[0-9]*.[0-9]*.[0-9]*'

使用外部工具,如grep:

git tag --list | grep -E "^[[:digit:]]+.[[:digit:]]+.[[:digit:]]+$"

最新更新