JavaScript 正则表达式到 C#

JavaScript RegEx to C#

我有一个正则表达式用于验证 JavaScript 中的电子邮件地址:

^(([\w]+(.[^<>()[]\.,;:\s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$

我需要将其转换为 C# 格式。
上述 JS 正则表达式需要进行哪些更改?

@"^[\w!#$%&'+-/=?\^_{|}~]+(\.[\w!#$%&'*+\-/=?\^_{|}~]+)" + " @" + @"((([-\w]+.)+[a-zA-Z]{2,4})|([([0-9]{1,3}.){3}[ 0-9]{1,3})]|(([0-9]{1,3}.){3}[0-9]{1,3}))$"

得到这个正则表达式完全符合我的要求。 允许带或不带 [] 的 IP 地址