sed正则表达式替换太多字符?

时间:2012-09-18 13:21:23

标签: regex sed

我在sed使用以下命令:sed s/1[^\.]/2/g test

我希望将每1替换为2,除了后跟一个点。它工作正常。

但在我的文件中,我有{{1e}}{{2}}取代。

为什么sed会删除e

PS:我是正则表达式的初学者,所以这可能是一个明显的错误。

1 个答案:

答案 0 :(得分:3)

1之后捕获角色,然后在2之后再次插入

sed 's/1\([^.]\)/2\1/g' test

唯一的问题是1在行尾。您可以使用

将其替换为2
s/1$/2/