C# 正则表达式至少有一个字母、一个数字和;一个特殊的角色

C# 正则表达式至少有一个字母、一个数字和;一个特殊的角色,c#,javascript,regex,C#,Javascript,Regex,这是一个JS正则表达式,在任何字符串中至少有一个字母、一个数字和一个特殊字符 var-pattern=/^(?=.[a-z])(?=.*?\d)(?=.*?[!@$%\^&*\(\)\-\+=;:“\/\[\]{},.\\\`])/i pattern.test(“Test123@#”) 我们如何用C#?Match Match=regex.Match(“Test123!@#“,@”/^(?=.*?[a-z])(?=.*?\d)(?=.[!$%^&*\(\)\-\+=;:“\/\[\]{},\”,

这是一个JS正则表达式,在任何字符串中至少有一个字母、一个数字和一个特殊字符

var-pattern=/^(?=.[a-z])(?=.*?\d)(?=.*?[!@$%\^&*\(\)\-\+=;:“\/\[\]{},.\\\`])/i
pattern.test(“Test123@#”)
我们如何用C#?

Match Match=regex.Match(“Test123!@#“,@”/^(?=.*?[a-z])(?=.*?\d)(?=.[!$%^&*\(\)\-\+=;:“\/\[\]{},\”,“\/\[\]},\”)/i”编写相同的正则表达式,
RegexOptions.IgnoreCase);
如果(匹配成功)
{
...
}
这应该可以:

if (Regex.IsMatch("Test123!@#",
              @"^(?=.*?[a-z])(?=.*?\d)(?=.*?[!@#$%\^&*\(\)\-_+=;:'""\/\[\]{},.<>|`])", 
              RegexOptions.IgnoreCase))
{
    // do something
}
if(Regex.IsMatch(“Test123!@#”),
@“^(?=..[a-z])(?=...*\d)(?=.*?[!@\\$%\^&*\(\)\-\+=;:”,“\/\[\]{},.|`])”,
RegexOptions.IgnoreCase)
{
//做点什么
}

使用该类如何?仅供参考,这是一个JS正则表达式,在任何字符串中都至少包含一个字母、一个数字和一个特殊字符。感谢您的回答,帮助我用C#编写该类。您会遇到什么错误?Regex是一个有文档记录的类:您甚至尝试过自己编译它吗?这是一个非常复杂的表达式很多特殊字符,所以你不能简单地把它放在正则表达式中(不,它对前面的@没有帮助)。一个错误是,例如:错误CS1056:意外字符“\”。逐字记录字符串中的双引号字符需要加倍。您的问题是如何将其移植到C#?还是如何确保带有特殊字符的正则表达式在C#中正确解析?您的问题似乎没有反映您想要的内容。无论如何……我已经更新了答案…谢谢Christian Hayter!逐字记录字符串中的双引号字符需要加倍。@Nailuj my bad-
应该是
到escape@ChristianHayter是的-不小心忽略了它,更新了代码,感谢你和Nailuj指出了这一点。
if (Regex.IsMatch("Test123!@#",
              @"^(?=.*?[a-z])(?=.*?\d)(?=.*?[!@#$%\^&*\(\)\-_+=;:'""\/\[\]{},.<>|`])", 
              RegexOptions.IgnoreCase))
{
    // do something
}