如何编写正则表达式来排除文件中包含的单词?

How do I write regex to exclude words contained inside a file?

我想执行电子邮件验证,排除流行域的电子邮件。作为参考,我使用的电子邮件域来自这里:https://github.com/mailcheck/mailcheck/wiki/List-of-Popular-Domains。我打算将它们放入资源文件中。

我如何编写一个正则表达式来排除以这些域结尾的电子邮件(即排除以该文件中的单词结尾)?

如果这很重要,我想用打字稿写。

您正在寻找的是负面环视。

(我将简化正则表达式的第一部分,以便于理解)

^([^@]*@(?!gmail.com|aol.com|mailinator.com|...)[^@]*?$)

但是,由于您必须以编程方式构建此字符串,并且它将是一个巨大的正则表达式,您可能需要考虑其他选项,例如解析输入的 @... 位并执行一个简单的操作:arrayOfDomains.indexOf(thisDomain) > -1 检测是否包含在列表中