首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vim正则表达式替换量词

vim正则表达式替换量词
EN

Stack Overflow用户
提问于 2017-04-13 19:49:46
回答 2查看 212关注 0票数 2

如何量化vim搜索/替换表达式的替换部分?

代码语言:javascript
复制
:%s/x\{4\}/yyyy/g 

将所有出现的4个x替换为4个y。

代码语言:javascript
复制
:%s/x\{4\}/y\{4\}/g 

将4个x替换为"y{4}“

我如何修改它,使我不必插入4个单独的y,而是“量化”单个y。

EN

回答 2

Stack Overflow用户

发布于 2017-04-13 20:14:56

解决方案似乎比它的价值更麻烦:

代码语言:javascript
复制
:%s/w\{4}/\=repeat('y',4)/g
票数 3
EN

Stack Overflow用户

发布于 2017-04-13 22:15:14

OP写道:

要使替换子句重复4y,后面跟着

子句中的字符(反向引用),正确的格式是什么,即如何用4y‘s替换4x’s

应答

将所有出现的xxxx替换为四个y__,后跟一个反向引用

代码语言:javascript
复制
%s/\(x\{4\}\)/\=repeat('y',4).submatch(1)/g

之前的

代码语言:javascript
复制
hello xxxx there xxxx end

之后的

代码语言:javascript
复制
hello yyyyxxxx there yyyyxxxx end

感谢@romainl提供的原始答案,以及@Ingo Karkat提供的answering a similar question

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43391534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档