小编lib*_*rce的帖子

如何使用sed提取版本号?

我试图找到最好的正则表达式来从字符串中提取版本号。例如:

 echo "Version 1.2.4.1 (release mode)" | sed -ne 's/.*\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p'
Run Code Online (Sandbox Code Playgroud)

这里的问题是它只有在版本号为“abcd”格式时才有效。如果有人决定添加或删除一个数字(“abcde”、“abc”),它就会中断。所以我想分解正则表达式并告诉 sed 我想要:

(1 个或多个数字后跟一个点)x 1 次或更多次,后跟一个数字。

我找不到如何“分组”“1 个或多个数字后跟一个点”,所以我可以告诉我至少需要一次该模式。我试过这个,但它不起作用:

\([0-9]\+\.\)\+
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

regex sed

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

regex ×1

sed ×1