在CSV文件中查找格式不正确的电子邮件地址

时间:2009-06-23 14:35:23

标签: regex excel csv gmail

我有一个充满联系信息的CSV文件,我正在尝试将其加载到GMail联系人中,但电子邮件地址的格式不正确,因此GMail不会将其识别为电子邮件领域。我可以在Excel(Mac)中打开CSV文件,但我不知道在Excel中是否有一种模式匹配方式。此外,某些字段可能包含逗号(例如地址字段),因此使用sed / awk可能很困难。有什么方法可以快速找到哪些电子邮件地址格式不正确?

3 个答案:

答案 0 :(得分:1)

将地址转储到文本文件,然后通过findstr运行该文件(作为内置的windows cmd命令)并让它回显匹配的模式:

例如:

findstr /V "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"  input_emails.txt > bad_emails.txt

答案 1 :(得分:1)

digdb是一个excel插件,用于验证可能对您有用的电子邮件地址。它不是免费的,但有一个限时免费的演示,你至少可以用来看它是否符合你的要求。我自己没有试过这个,但是当我试图找到一个我用过的方式(而且再也找不到)时,它出现在我的谷歌搜索中

答案 2 :(得分:1)

使用支持正则表达式的文本编辑器打开CSV文件,例如TextWrangler(因为你在mac上,免费)。然后运行正则表达式搜索,并手动修复找到的结果,因为可能的问题可能会被扭曲。如果首先是电子邮件列,则会更简单。

假设电子邮件地址位于第一位且未包含在引号中:

^(?![A-Z0-9\._%\+\-]+@[A-Z0-9.-]{2,}\.[A-Z]{2,4},)

注意:

  • 在此处使用否定预测来查找不正确的匹配项,希望您的编辑器支持它(现在不在我的Mac上)
  • 如果所有电子邮件地址都有引号,请在“第一个之后!之前添加引号”