Javascript Regex-匹配电子邮件地址中的字符串

Javascript Regex-匹配电子邮件地址中的字符串,javascript,regex,Javascript,Regex,因此,我的问题是,我希望在电子邮件地址的开头匹配字母的特定组合,然后是@,然后是通配符,例如: admin@*或noreply@*或spam@*或订阅@ 可以这样做吗?使用|运算符查找分组。以下内容将满足您的要求 编辑:由于您将其用于电子邮件服务器规则,因此不需要匹配整个字符串,只需匹配其中的一部分。在这种情况下,您需要使用^指定字符串的开头,然后删除域部分,因为我们不关心它是什么 ^(admin|noreply|spam|subscribe)@ 当然可以 [A-Za-z]+@.+ 任何字母

因此,我的问题是,我希望在电子邮件地址的开头匹配字母的特定组合,然后是@,然后是通配符,例如:

admin@*或noreply@*或spam@*或订阅@


可以这样做吗?

使用|运算符查找分组。以下内容将满足您的要求

编辑:由于您将其用于电子邮件服务器规则,因此不需要匹配整个字符串,只需匹配其中的一部分。在这种情况下,您需要使用^指定字符串的开头,然后删除域部分,因为我们不关心它是什么

^(admin|noreply|spam|subscribe)@
当然可以

[A-Za-z]+@.+
任何字母至少说一次,但次数不限,然后是at符号,然后是任何特定示例使用的字母(新行除外)

(admin|noreply|spam|subscribe)@.+
试试这个

^(?:admin|noreply|spam|subscribe)@\S*
看到了吗

在开始时需要一个锚,以避免在开始之前将地址与其他字符匹配。如果字符串仅包含电子邮件地址,请在开头使用
^
,这与字符串的开头匹配。如果电子邮件地址被其他文本包围,则使用
\b
这是一个单词边界

(?:admin | noreply | spam | subscribe)
是一个非捕获组,因为
?:
在开始时,有一个替代列表,除以
字符


\S*
是任意数量的非白色字符,这将匹配无效的地址,但不会造成太大伤害。

我认为您的
[\w.]
限制太多,类似于
\S
(非空白字符)的字符可能会更好。这能保证它们位于电子邮件地址的开头吗?例如,“dadmin”或“emspam”将不匹配?谢谢大家的帮助!我对这个有点陌生。这能保证他们会在电子邮件地址的开头吗?例如,“dadmin”或“emspam”将不匹配?谢谢大家的帮助!我对此有点陌生,为了确保它们位于电子邮件的开头,如果您只是尝试匹配电子邮件,则可以在开头使用“^”字符。但是,如果您试图在一长串文本中搜索电子邮件,请在搜索之前使用\s。^表示这必须是字符串的开头,但\s表示在电子邮件开始之前必须是空白。你可以检查一下,试着看一下阅读和练习