用notepad++、sublime text或python脚本可高效提取指定域名邮箱:notepad++支持批量搜索并手动复制;sublime text可通过替换或高亮切分导出纯列表;python脚本能全自动遍历文件夹、去重并复制结果。

你需要从一堆TXT文本文件里快速捞出指定域名的邮箱,比如只提取所有 @company.com 结尾的联系人,而不是把所有邮箱一股脑全抓出来。手动翻找几十个文件根本不可行,得用正则精准过滤。
用Notepad++批量筛选特定域名邮箱
第一步:打开Notepad++,拖入全部待处理的TXT文件(支持多文件标签页)→顶部菜单栏点击「搜索」→「在文件中查找」(Ctrl+Shift+F)。
第二步:在「查找内容」框中输入正则:【[A-Za-z0-9._%+-]+@[^@s]+.company.com】(注意把 company.com 替换成你要的实际域名,点号要加反斜杠转义)。
第三步:勾选「匹配大小写」和「正则表达式」→「查找范围」选「所有打开的文档」→点击「查找全部」。
第四步:结果面板自动弹出,显示每个匹配项的文件名、行号和完整邮箱。此时不要复制面板内容——它带路径和行号。直接双击某条结果,光标跳转到原文位置;右键该行→「复制当前行」即可拿到干净邮箱。这一步必须手动逐个复制,因为Notepad++不支持从「查找全部」面板直接导出纯邮箱列表。
用Sublime Text一键导出纯邮箱列表
方法一:高亮后分列导出(推荐,可逆、不破坏原文)
打开Sublime Text → Ctrl+A全选文本 → Ctrl+H打开替换面板 → 勾选「正则表达式」→查找框填:【[A-Za-z0-9._%+-]+@[^@s]+.(company|COMPANY).com】(支持大小写混合域名)→替换框留空 → 点击「全部替换」→此时文档只剩目标邮箱,但挤在一起 → 再按Ctrl+H → 查找框填 【([^
]+)】 → 替换框填 【$1
】 → 全部替换 → Ctrl+A → Ctrl+C复制,粘贴到新文件即得纯列表。
方法二:Find All + 多光标切分(更快,适合单文件)
Ctrl+F打开查找 → 勾选「正则表达式」→粘贴同上正则 → 点击「Find All」→所有邮箱高亮 → 按Ctrl+Shift+L(Windows/Linux)或Cmd+Shift+L(macOS)→每行一个邮箱独立光标 → Ctrl+X剪切 → 新建文件粘贴。注意:如果邮箱被换行符打断(如 user@
company.com),此法失效,需先清理换行。
用Python脚本全自动处理整个文件夹
新建一个.py文件,粘贴以下代码(需提前安装pyperclip,命令行运行 pip install pyperclip):
import os, re, pyperclip
target_domain = "company.com"
emails = []
for root, dirs, files in os.walk(r"D:your_folder"): # 把这里改成你的TXT文件所在文件夹路径
for f in files:
if f.lower().endswith(".txt"):
with open(os.path.join(root, f), encoding="utf-8", errors="ignore") as fp:
text = fp.read()
found = re.findall(rf"[A-Za-z0-9._%+-]+@[^@s]+.{re.escape(target_domain)}", text, re.IGNORECASE)
emails.extend(found)
unique_emails = list(dict.fromkeys(emails))
result = "\n".join(unique_emails)
pyperclip.copy(result)
print(f"已提取 {len(unique_emails)} 个唯一邮箱,已复制到剪贴板")
保存后双击运行,脚本会遍历指定文件夹下所有TXT文件,提取含目标域名的邮箱,去重后自动复制到剪贴板。注意:路径中的反斜杠要写成双反斜杠或用原始字符串 r"" 包裹,否则报错。











