首页 > 解决方案 > Sed:正则表达式不匹配,我不知道为什么

问题描述

我有一长串命令(其中大多数是 sed)通过管道传输,我的问题所在的 sed 得到如下所示的输入:

v5.3-rc4/
v4.9.123/

它应该把它们变成这样的东西:

v5.03-rc4/
v4.09.123/

我目前的尝试如下所示:

sed 's/v\([0-9]*\)\.\([0-9]\)\((\.[0-9]*)?(-rc[0-9]*)?\)\//v\1.0\2\3\//g'

我已经在 RegEx 调试器中仔细检查了这一点,它似乎是正确的。谁能告诉我,这有什么问题?

标签: regexshellsed

解决方案


不确定您到底想做什么,但是更改..0?

sed 's/\./.0/' file
v5.03-rc4/
v4.09.123/

推荐阅读