Vim Regex替换空白后面的附加符号

时间:2016-05-25 00:56:40

标签: regex vim whitespace vi

我想在Vim中使用正则表达式替换+ '<nonwhitespaceanychar>+ '(space)的所有匹配项。

注意: - (space)表示空格

我已经尝试了

%s/\+\s'[^s]/\+\s'\s/g

但它在加号上失败了。我也尝试过双反斜杠,但出现Misplaced +, \+ follows nothing错误。

Example match:
+ 'n

Example Replace
+ ' n

Example nonmatch:
+ ' n

2 个答案:

答案 0 :(得分:0)

试试以下正则表达式

:%s/+\s*'/+'/g

答案 1 :(得分:0)

您可以使用捕获组进行替换,例如

:%s/+\s'\([^ ]\)/+ ' \1/g
        <------>
    1st capturing group

注意: - 请勿使用\s替换。它将被视为文字\s而不是空格