假设我有一个字符串 Test<A Class Name>
我想要 <A Class Name>Test
。我正在尝试以下内容:
%s/Test.*/&Test/g
但是,这给了我 <A Class Name>TestTest
因为整个字符串都匹配了。我怎样才能改变上面的行来完成我想要的?
最佳答案
您可以使用捕获组,如下所示:
%s/Test\([^[:space:]]\+\)/\1Test/g
\([^[:space:]]\+\)
将 Test 后的所有非空格字符捕获到捕获组 1
中。 \1Test
以相反的顺序重新组装它。
关于regex - vim 在搜索和替换中使用通配符时交换子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33798026/