C# 为什么';这个正则表达式在.NET中不起作用吗?
我需要一个正则表达式来验证字符串是否以字母开头,后跟一些字母、数字或下划线。根据我的EditPadPro正则表达式解析器,以下测试应该通过。但事实并非如此C# 为什么';这个正则表达式在.NET中不起作用吗?,c#,.net,regex,C#,.net,Regex,我需要一个正则表达式来验证字符串是否以字母开头,后跟一些字母、数字或下划线。根据我的EditPadPro正则表达式解析器,以下测试应该通过。但事实并非如此 Regex.IsMatch("Class1_1", @"^\w[\w|\d|_]*$").ShouldBeTrue(); 我遗漏了什么?您的正则表达式可以工作,但不能做您认为它可以做的事情 你应该使用 Regex.IsMatch("Class1_1", @"^[A-Za-z]\w*$") (已测试)\w包括\d和下划线-即使您的测试通过,
Regex.IsMatch("Class1_1", @"^\w[\w|\d|_]*$").ShouldBeTrue();
我遗漏了什么?您的正则表达式可以工作,但不能做您认为它可以做的事情 你应该使用
Regex.IsMatch("Class1_1", @"^[A-Za-z]\w*$")
(已测试)\w包括\d和下划线-即使您的测试通过,正则表达式也不会测试您希望它测试的内容 或者,“^\w[\w\d\]*$”,但是,正如David M所指出的,w包括\d和u,所以实际上“^[a-zA-Z]\w+$”Regex.IsMatch(“Class1_1”,“@”^\w+$”)不起作用。对原因有何评论?可能是您的全球化设置-该表达式与我的机器上的表达式匹配。别担心每个人。我输入错误,但我不知道\w包含数字和下划线