使用正则表达式时总是失败

Always fails when use the regex

我想将电子邮件限制为仅来自我公司的电子邮件。这就是我所拥有的,但它总是失败:

[Required]
[EmailAddress]
[Display(Name = "Email")]
[RegularExpression(@"/\w+@mycompany\.com/", ErrorMessage = "You must use your mycompany email to register")]
public string Email { get; set; }

这封电子邮件总是 returns 一个错误:cooper@mycompany.com。我做错了什么?

在 C# 正则表达式中,与 PHP、JavaScript 和其他一些语言不同,您不必使用定界符。

[RegularExpression(@"\w+@mycompany\.com", ErrorMessage = "You must use your mycompany email to register")]

正则表达式锚定在 RegularExpressionAttribute 中,它将匹配

的字符串
  • \w+ - 以字母数字开头,出现 1 次或多次
  • @ - 然后有一个文字 @
  • mycompany\.com - 并以文字 mycompany.com 结尾(点必须转义以匹配文字点)。