为什么这个正则表达式不能在.NET中运行?

时间:2010-04-26 15:33:13

标签: c# .net regex

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

Regex.IsMatch("Class1_1", @"^\w[\w|\d|_]*$").ShouldBeTrue();

我错过了什么?

2 个答案:

答案 0 :(得分:5)

你的正则表达式有效,但不符合你的想法。

你应该使用

Regex.IsMatch("Class1_1", @"^[A-Za-z]\w*$")

(测试)

答案 1 :(得分:3)

\ w包括\ d和下划线 - 即使您的测试通过,正则表达式也不会测试您想要的内容!