查找匹配特定正则态度的字符串,然后从该列表中排除任何匹配一个矿石条件的内容



我正在使用Astrogrep搜索电子邮件

使它非常容忍我正在使用此正则:[a-z0-9_.-]+@[a-z0-9_.-]+

,但我必须忽略该搜索的一些电子邮件

如果我在电子邮件的开始时找到ABCD或YXZ,例如ABCDsomething@something.comYXZ something@something.com,我必须将其排除在结果

之外

我尝试了几件事;

(?!abcd)|([a-z0-9_.-]+)@[a-z0-9_.-]+
^(?!abcd+)|([a-z0-9_.-]+)@[a-z0-9_.-]+
(?!abcd)([a-z0-9_.-]+)@[a-z0-9_.-]+
(?!abcd+)([a-z0-9_.-]+)@[a-z0-9_.-]+

等...

当我在Google上进行搜索时,这似乎很容易,但是看来我找不到使它起作用的方法

编辑

在文件夹中创建3个文本文件第一个文件包含3行:

abcdsomething@something.com
xyzsomething@something.com
@something.com

第二个文件1行

something@something.com

第三文件3行

email1 =" abcdsomething@something.com"
email2 =" xyzsomething@something.com"
email3 =" sometsing@something.com"

使用Astrogrep搜索该文件夹,情况不敏感

预期结果1在每个文件中找到的电子邮件

使用[a-z0-9_.-]+@[a-z0-9_.-]+,我会正确地收到所有电子邮件,但我只想忽略以ABCD/XYZ

开头的电子邮件

似乎答案是这个 b(?!abcd|xyz)[a-z0-9_.-]+@[a-z0-9_.-]+

您可以使用否定的lookahead:

(?!b(abcd|xyz))[a-z0-9_.-]+@[a-z0-9_.-]+b

如果在输入开始时找到abcdxyz,则将失败。

相关内容

最新更新