用于自定义电子邮件和域的 C# 正则表达式

Posted

技术标签:

【中文标题】用于自定义电子邮件和域的 C# 正则表达式【英文标题】:C# Regex for custom email and domain 【发布时间】:2021-11-09 20:35:14 【问题描述】:

我有一个带有使用此模式的输入的剃刀视图:

pattern="^[a-zA-Z0-9._+-]+&#64mydomain.com"
      

它用作前端验证非常有用。但是,如果我还想检查事物的后端,如何将其转换为正则表达式? 我的电子邮件构造如下: “firstname.lastname@mydomain.com” 我试过这个:

Regex regex = new Regex("\\^\\[a-zA-Z0-9\\._\\+-]\\+&#64mydomain\\.com", RegexOptions.IgnoreCase); 

但是,这并不像我预期的那样工作,因为条件总是错误的。 是否有另一种方法可以让这种模式与 Regex 一起使用?

提前致谢!

【问题讨论】:

【参考方案1】:

将您的正则表达式直接翻译成 C# .NET 正则表达式如下所示

Regex regex = new Regex(@"^[A-Z0-9._+-]+@mydomain\.com$", RegexOptions.IgnoreCase); 

注意@ 字符在.NET 正则表达式中的处理没有问题,所以@ 可以编码为@

详情

^ - 字符串开头 [A-Z0-9._+-]+ - 出现一次或多次 (+) 任何 ASCII 字母(A-Z,由于使用了正则表达式选项,它不区分大小写)、数字 (0-9)、._、@ 987654332@ 和 - @mydomain\.com - @mydomain.com 字符串 $ - 字符串结束。

【讨论】:

Wiktor Stribizew,非常感谢。有效。感谢您的帮助!

以上是关于用于自定义电子邮件和域的 C# 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

C# 中用于电子邮件验证的最佳正则表达式

在 C# 中使用正则表达式解析电子邮件

JavaScript 正则表达式到 C#

欧芹验证中带有自定义域的电子邮件的正则表达式是啥

正则表达式 - 提取子域和域

C# 正则表达式