Vim模式replace

<created> [email protected] </created> 

我想要replace上面的用户名可能会有所不同,即pat @ c.com,harry @ c.com …

  <created> [email protected] </created> 

在vim中replace这个命令是什么?

  %s/<created>\r*\r</created>/new string 

它为我这样工作:

 %s/<created>\n\s*\w*@\w*\n<\/created>/newstring/ 

如果您想重新插入您可以使用的电子邮件地址:

 %s/<created>\n\s*\(\w*@\w*\)\n<\/created>/newstring: \1/ 

一点解释:

  • \n :换行符
  • \s :空格和制表符
  • \w :任何单词字符
  • \(\) :捕捉里面的内容
  • \1 :使用第一个捕获的expression式