【发布时间】:2014-05-07 15:38:55
【问题描述】:
我正在使用 vim(7.3 版)。
在下一行
1xAxBx4
其中A 和B 可以是任何字母数字字符,我想将xBx4 替换为foo。我尝试了以下替换命令
:s/x.\{-}x4/foo/
得到1foo 而不是我所期望的(1xAfoo)。如果我使用这个替换命令,我可以得到1xAfoo
:s/x[^A]x4/foo/
但这太具体了,如果我想在多行上替换它就没有帮助,因为“A”可能是每一行的不同字符。
为什么\.{-} 会出现意外行为?或者这正是人们所期望的,但我只是误解了语法?
【问题讨论】:
-
欢迎来到 Stack Overflow,第一个问题很好!我特别感谢您包含了所有步骤、预期结果和实际得到的结果,并通过包含您正在使用的 Vim 版本来完成这些!
标签: vim non-greedy