我想go[^ ]+
使用expr
. 输出应该是1.17.6
和1.18-becaeea119
。
go version go1.17.6 linux/amd64
go version devel go1.18-becaeea119 Tue Dec 14 17:43:51 2021 +0000 linux/amd64
但是,这devel
部分是可选的,我想不出一种方法来正确地忽略它expr
。
expr "$(go version)" : ".*go version go\([^ ]*\) .*"
expr "$(go version)" : ".*go version devel go\([^ ]*\) .*"
使用普通的正则表达式,我会这样做,(?: devel)?
但由于某种原因expr
不支持?
。
有没有办法expr
在一个命令中实现这一点?