0

我正在尝试搜索并替换所有出现的反斜杠,然后将单引号替换为一个反斜杠和引号。像这样:

Everyone\\\\\\\\\\\\\\\'sEveryone\'s VI 中。

它还应该替换blah\\\\\\\'\'blah\'\'

我无法弄清楚该怎么做。

试过::%s/\\\+\'/\\'/但它只适用于第一个。

我也试过::%s/\\\+?\'/\\'/但这不起作用。

它的正确正则表达式应该是什么?

4

2 回答 2

1

这符合您的要求:

将所有出现的反斜杠后跟单引号替换为 一个反斜杠和引号

 %s/\\\+'/\\'/g

你的两个例子:

Everyone\\\\\\\\\\\\\\\'s -> Everyone\'s
blah\\\\\\\'\' -> blah\'\'

用 vim 7.3 测试

于 2013-07-15T20:32:35.653 回答
0

这对我有用:

%s/[\\\\]*'/'/

请注意,代码标记将 '\' 的四个实例压缩为两个:括号内有四个反斜杠。

感谢您修复,罗希特!

于 2013-07-15T20:10:40.250 回答