找到匹配特定正则表达式的字符串,然后从该列表中排除任何匹配一个或多个条件的内容
find string that match specific regex then exclude from that list anything that match one ore more conditions
我正在使用 astrogrep 搜索电子邮件
为了让它变得非常宽容,我正在使用这个正则表达式:[a-z0-9_.-]+@[a-z0-9_.-]+
但我不得不忽略来自该搜索的一些电子邮件
如果我在电子邮件的开头找到 ABCD 或 YXZ,例如 ABCDsomething@something.com
和 YXZ 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@something.com
第二个文件1行
something@something.com
第三个文件3行
email1="abcdsomething@something.com"
email2="xyzsomething@something.com"
email3="something@something.com"
使用 astrogrep 搜索该文件夹,不区分大小写
预期结果在每个文件中找到 1 封电子邮件
使用 [a-z0-9_.-]+@[a-z0-9_.-]+
我可以正确接收所有电子邮件,但我只想忽略以 abcd / xyz
开头的电子邮件
你可以像这样使用负前瞻:
(?!\b(abcd|xyz))[a-z0-9_.-]+@[a-z0-9_.-]+\b
如果在输入的开头找到 abcd
或 xyz
,这将导致匹配失败。
好像是这个答案\b(?!abcd|xyz)[a-z0-9_.-]+@[a-z0-9_.-]+
我正在使用 astrogrep 搜索电子邮件
为了让它变得非常宽容,我正在使用这个正则表达式:[a-z0-9_.-]+@[a-z0-9_.-]+
但我不得不忽略来自该搜索的一些电子邮件
如果我在电子邮件的开头找到 ABCD 或 YXZ,例如 ABCDsomething@something.com
和 YXZ 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@something.com
第二个文件1行
something@something.com
第三个文件3行
email1="abcdsomething@something.com"
email2="xyzsomething@something.com"
email3="something@something.com"
使用 astrogrep 搜索该文件夹,不区分大小写
预期结果在每个文件中找到 1 封电子邮件
使用 [a-z0-9_.-]+@[a-z0-9_.-]+
我可以正确接收所有电子邮件,但我只想忽略以 abcd / xyz
你可以像这样使用负前瞻:
(?!\b(abcd|xyz))[a-z0-9_.-]+@[a-z0-9_.-]+\b
如果在输入的开头找到 abcd
或 xyz
,这将导致匹配失败。
好像是这个答案\b(?!abcd|xyz)[a-z0-9_.-]+@[a-z0-9_.-]+