Vim可以 进行限定条件的模糊替换吗?

Vim、Emacs配置和使用
回复
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36
送出感谢: 2 次
接收感谢: 0

Vim可以 进行限定条件的模糊替换吗?

#1

帖子 jsjcjsjc » 2016-01-14 18:11

abc##adsf##kjsjh$$ljdsk##jkhakj$$kjhdsj##



我想把##和$$之间的字符连同##$$一起替换成XXX(距离最近的##$$),但是如果用##*$$的话excel会把距离最远的两个##$$替换掉,结果成这样
abcXXXljdskXXXkjhdsj##
我想要的是这样的


abc##adsfXXXljdskXXXkjhdsj##


VIM可以实现吗?
谢谢各位了 :em01
头像
duguyipiao
帖子: 157
注册时间: 2011-09-13 10:31
送出感谢: 1 次
接收感谢: 17 次

Re: Vim可以 进行限定条件的模糊替换吗?

#2

帖子 duguyipiao » 2016-01-14 20:56

试了下,

代码: 全选

s/##[^#\$]*\$\$/XXX/g
好像可以。

参考了这里
https://segmentfault.com/q/1010000002416121
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36
送出感谢: 2 次
接收感谢: 0

Re: Vim可以 进行限定条件的模糊替换吗?

#3

帖子 jsjcjsjc » 2016-01-14 22:41

duguyipiao 写了:试了下,

代码: 全选

s/##[^#\$]*\$\$/XXX/g
好像可以。

参考了这里
https://segmentfault.com/q/1010000002416121
谢谢,我决定好好学正规表达式 :em11
回复

回到 “Vim和Emacs”