正则表达式 - 不对负字符类进行捕获

时间:2013-04-21 02:42:52

标签: regex sed

我正在尝试编写不同的sed脚本来美化ruby代码。 我想解决的一个案例是用a=>b替换a=> ba => b个字符串。 匹配此条件的正则表达式为[^ ]=>,但它也匹配=>之前的1个字符。 因此,当我尝试替换它时,并没有给我s/[^ ]=>/ =>/g

所需的结果

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您需要使用捕获:

s/\([^ ]\)=>/\1 =>/g

答案 1 :(得分:0)

如何无条件地更换双方?

s/ ?=> ?/ => /g