【问题标题】:Notepad++ delete all text except email address [closed]Notepad ++删除除电子邮件地址以外的所有文本[关闭]
【发布时间】:2015-02-03 13:11:12
【问题描述】:

我有一个包含大量电子邮件列表的大文件,例如:

Some Name <same.name@example.com>
same.name2@example.com
Some Name3 (same.name3@example.com)
Some Name4 (same.name4@example.com)

如何删除所有其他文本以仅显示如下列表:

same.name@example.com
same.name2@example.com
same.name3@example.com
same.name4@example.com

谢谢

【问题讨论】:

  • 嗨@phresnel,基于这篇文章:stackoverflow.com/questions/26274048/… 我尝试使用这个正则表达式:\b[A-Za-z0-9._%+-]+@[A-Za -z0-9.-]+\.[A-Za-z]{2,4}\b 但这会选择电子邮件。我想选择除电子邮件以外的所有其他内容。

标签: regex notepad++


【解决方案1】:

This regex will match the email addresses

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

此时你可以将它们剪掉。

【讨论】:

  • 不确定^^^^^^^^^@0------------0.0-------------0 是一个有效的电子邮件地址,但您的正则表达式匹配它。
  • 非常有帮助,谢谢!一个补充:如果您使用 Notepad++ 并且想要删除找到的电子邮件地址,您可以按照以下步骤执行此操作:stackoverflow.com/a/8231096/3194543
【解决方案2】:

如果文件包含上述格式的tet,那么您可以使用下面的正则表达式,然后将匹配的字符替换为空字符串。

^.*[<(]|[>)].*

DEMO

【讨论】:

  • 非常感谢。这个解决方案挽救了我的一天。 :) 我不明白为什么有人给我一票否决:(
猜你喜欢
  • 1970-01-01
  • 2019-11-26
  • 2017-03-05
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-17
相关资源
最近更新 更多