在 vi 全局替换中使用正则表达式的匹配

在 vi 全局替换中使用正则表达式的匹配

vi我正在尝试使用我想要替换[a-z],的匹配项来编辑文本文件[A-Z]

{matching value of [a-z]}{a space instead of a comma}{matching value of [A-Z]}.

例如:Bourbon,Glazed,Turkey,

将替换为:Bourbon Glazed Turkey,

我在想它可能使用分组和反向引用?但我还没有弄清楚。

答案1

命令vi将会%s/\([a-z]\),\([A-Z]\)/\1 \2/g改变

y,S
T,d
5,e

进入

y S
T,d
5,e

答案2

$ echo 'Bourbon,Glazed,Turkey,' | sed 's/\([a-z]\),\([A-Z]\)/\1 \2/g'
Bourbon Glazed Turkey,
$

所以在vi它是相同的:

:%s/\([a-z]\),\([A-Z]\)/\1 \2/g

相关内容