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. 正則表達式替換[*]