正则表达式 - 匹配电子邮件地址中的字符串

时间:2011-12-09 06:34:22

标签: javascript regex

所以我的问题是我希望在电子邮件地址的开头跟一个字母组合后跟一个@然后是一个通配符,例如:

admin @ * OR noreply @ * OR spam @ * OR subscribe @

可以这样做吗?

3 个答案:

答案 0 :(得分:1)

您正在寻找与|的分组运营商。以下将做你想要的。

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

^(admin|noreply|spam|subscribe)@

答案 1 :(得分:1)

试试这个

^(?:admin|noreply|spam|subscribe)@\S*

here on Regexr

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

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

\S*是任何数量的非白色字符,这将匹配无效的地址,但不应该太多。

答案 2 :(得分:0)

确定无疑!

[A-Za-z]+@.+

说任何字母至少一次但是任意次,然后是at符号,然后使用

的任何内容(除了换行符之外)
(admin|noreply|spam|subscribe)@.+