Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么';这个正则表达式在.NET中不起作用吗?_C#_.net_Regex - Fatal编程技术网

C# 为什么';这个正则表达式在.NET中不起作用吗?

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和下划线-即使您的测试通过,

我需要一个正则表达式来验证字符串是否以字母开头,后跟一些字母、数字或下划线。根据我的EditPadPro正则表达式解析器,以下测试应该通过。但事实并非如此

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包含数字和下划线