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

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

将这些地址转储到一个文本文件中,然后通过findstr(作为内置的windows cmd命令)运行该文件并获取它以回应匹配模式:

例如:

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

digdb是一个用于validation可能对您有用的电子邮件地址的插件。 这不是免费的,但有一个有时间限制的免费演示,你至less可以用来看看它是否做你想要的。 我没有尝试过这个,但是当我试图find一个我曾经用过的(而且不能再find)的时候,它出现在我的谷歌search中。

使用支持正则expression式的文本编辑器(如TextWrangler)打开CSV文件(因为您在Mac上,免费)。 然后运行一个正则expression式search,并手动修复find的结果,因为可能的问题可能真的扭曲。 如果电子邮件列首先出现,则更简单。

假设电子邮件地址是第一位的,没有用引号括起来:

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

注意:

  • 在这里使用负面的前瞻来find不正确的匹配,希望你的编辑器支持它(现在不在我的mac上)
  • 如果所有电子邮件地址都有报价,请在第一个!之后加上一个报价,