Regex vim正则表达式替换量词
如何量化vim搜索/替换表达式的替换部分Regex vim正则表达式替换量词,regex,search,vim,replace,Regex,Search,Vim,Replace,如何量化vim搜索/替换表达式的替换部分 :%s/x\{4\}/yyyy/g 将用4个y替换每次出现的4个x :%s/x\{4\}/y\{4\}/g 将4X替换为“y{4}” 我如何修改它,以便不必插入4个单独的y,而是“量化”单个y。解决方案似乎比它的价值更麻烦: :%s/w\{4}/\=repeat('y',4)/g OP写道: 使替换条款重复4 y的正确格式是什么 后跟find子句(反向引用)中的字符,即。 如何用4个y替换4个x 回答 hello yyyyxxxx there
:%s/x\{4\}/yyyy/g
将用4个y替换每次出现的4个x
:%s/x\{4\}/y\{4\}/g
将4X替换为“y{4}”
我如何修改它,以便不必插入4个单独的y,而是“量化”单个y。解决方案似乎比它的价值更麻烦:
:%s/w\{4}/\=repeat('y',4)/g
OP写道:
使替换条款重复4 y的正确格式是什么
后跟find子句(反向引用)中的字符,即。
如何用4个y替换4个x
回答
hello yyyyxxxx there yyyyxxxx end
将所有发生的xxxx
替换为四个y
,后跟一个反向引用
之前
hello xxxx there xxxx end
之后
hello yyyyxxxx there yyyyxxxx end
感谢@romainl提供了原始答案,感谢@Ingo Karkat提供了这正是我想要的。我的示例简化了用4个y替换4个x。我的具体问题是在替换条款中使用了100个相同字符。感谢所有回应的人。这就是解决办法。我相信有人会这样做。前面的解决方案回答了我的问题。但是,要使替换子句重复4y,后跟find子句中的字符(反向引用),正确的格式是什么,即如何用4y和4x替换4x?我尝试了:%s/(x\{4\})/\=重复('y',4)\1/g。。。似乎不起作用。
%s/\(x\{4\}\)/\=重复('y',4)。子匹配(1)/g