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

时间:2019-01-07 14:19:27

标签: regex typescript nsregularexpression

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

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

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

1 个答案:

答案 0 :(得分:2)

您要寻找的是负面的视野。

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

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

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