Regex 正则表达式模式,用于搜索“"@&引用;在电子邮件中

Regex 正则表达式模式,用于搜索“"@&引用;在电子邮件中,regex,mongodb,Regex,Mongodb,我希望能够查询数据库中与正则表达式匹配的电子邮件地址。我试图避免的一个例子是: 在我的数据库中,我有一个电子邮件地址为amy的用户。user@gmail.com 我还有700个域名为@amyconsulting.com的用户 当我尝试搜索Amy时,我现在的当前搜索将返回701个结果,而不是1个结果:^.*Amy.*$如何仅搜索电子邮件地址中@符号之前的字符?提前感谢…这不可能涵盖所有电子邮件案例,但鉴于您发布的示例,您可以从这里开始改进您的正则表达式: .*(amy).*@[\w]+(\.)[\

我希望能够查询数据库中与正则表达式匹配的电子邮件地址。我试图避免的一个例子是:
在我的数据库中,我有一个电子邮件地址为
amy的用户。user@gmail.com

我还有700个域名为
@amyconsulting.com的用户

当我尝试搜索Amy时,我现在的当前搜索将返回701个结果,而不是1个结果:
^.*Amy.*$

如何仅搜索电子邮件地址中
@
符号之前的字符?提前感谢…

这不可能涵盖所有电子邮件案例,但鉴于您发布的示例,您可以从这里开始改进您的正则表达式:

.*(amy).*@[\w]+(\.)[\w]+
它接受在电子邮件正则表达式模式之前包含单词amy的字符串。再一次,我没有查找电子邮件的最佳正则表达式,但这一个给出了如何处理问题的想法


我建议使用,那里有一个非常酷的游乐场,可以帮助学习新的正则表达式符号来解决您的问题。

另一个选项是使用否定字符类
[^@]*
匹配除
@

如果您不想同时匹配换行符,可以使用
[^@\r\n]*
[^\s\@]
也不匹配空格

^[^@]*amy[^@]*@[^@]+$
解释

  • ^
    字符串的开头
  • [^@]*
    匹配除
    @
  • amy
  • [^@]*
    匹配除
    @
  • @
    匹配
    @
  • [^@]+
    匹配除
    @
  • $
    字符串结尾

^.*amy.*@
也许?谢谢你的回答和资源大家伙