替换标记的Vim正则表达式

替换标记的Vim正则表达式,vim,regex,Vim,Regex,我正在寻找一个正则表达式来删除文本文件中的电子邮件地址 输入文件: Hannah Churchman <xxxx@xxxxxxxx.com>; Julie Drew <xxxx@xxxxxxxxx.com>; 我认为一个通用的正则表达式shuch(如s///g)将是一个很好的起点,但我找不到使用Vim的正确表达式 差不多 :%s/ <\(.*?\)>//g :%s///g 不起作用。错误为“E486:找不到模式:” :%s#[^###g几乎可以工作,但它

我正在寻找一个正则表达式来删除文本文件中的电子邮件地址

输入文件:

Hannah Churchman <xxxx@xxxxxxxx.com>; Julie Drew <xxxx@xxxxxxxxx.com>;
我认为一个通用的正则表达式shuch(如s///g)将是一个很好的起点,但我找不到使用Vim的正确表达式

差不多

:%s/ <\(.*?\)>//g
:%s///g
不起作用。错误为“E486:找不到模式:”

:%s#[^###g几乎可以工作,但它留下了空间并<落后。

:%s#我在您的示例上尝试了这个正则表达式,它似乎有效:
:s/\s]*>//g

*?
在vim中不是非贪婪匹配,请参阅
:%s/ <\(.*?\)>//g
:%s#[^ <]*>##g   almost works but it leaves  the space and < behind.
:%s# <##g  to remove the " <" remaining stuff.