11
A
回答
16
这是Perl语法,而不是Vim。在Vim正则表达式中,至少默认情况下,括号匹配自身,反斜杠括号捕获 - 与Perl相反。此外,Vim不会理解非贪婪修改?
,并且捕获组与\
ñ,不$
ñ插值。试试这个:
%s/hello(\([^)]*\))/hello[\1]/
或者,你可以使用\v
(“非常神奇”)修改作出关于特殊字符和反斜杠更多类似Perl的行为,虽然它并不要使Vim理解*?
或改变其插语法:
%s/\vhello\(([^)]*)\)/hello[\1]/
另外请注意,您不需要在方括号中替换文本反斜杠 - 一个替换命令的右手边是不正则表达式,所以你不要不必担心大部分人物在一个特别的。几乎只有反斜杠本身是特殊的,并且可以用来包含捕获组或它自己的文字实例或分隔符。
相关问题
- 1. 用正则表达式替换Vim
- 2. Vim正则表达式替换问题
- 3. (g)vim替换正则表达式
- 4. 正则表达式替换Vim的
- 5. Vim正则表达式替换
- 6. 正则表达式(搜索/替换/添加)VIM
- 7. vim正则表达式搜索和替换范围[a-z] +等
- 8. VIM搜索和替换正则表达式
- 9. vim搜索并用正则表达式替换
- 10. 日食搜寻替换正则表达式itteration
- 11. 正则表达式搜索和替换
- 12. 正则表达式搜索替换
- 13. 正则表达式搜索和替换
- 14. 正则表达式 - 搜索并替换
- 15. 正则表达式替换[*
- 16. 替换正则表达式
- 17. 替换正则表达式
- 18. 正则表达式替换
- 19. 正则表达式替换
- 20. 正则表达式替换
- 21. 正则表达式替换
- 22. 替换正则表达式
- 23. 正则表达式替换
- 24. 正则表达式替换
- 25. 替换正则表达式
- 26. 正则表达式替换
- 27. 正则表达式替换
- 28. 正则表达式替换
- 29. 正则表达式替换
- 30. 正则表达式替换[*]