我不明白为什么这个正则表达式总是返回false?

时间:2013-11-20 06:23:35

标签: regex c#-4.0

好的就是正则表达式:

Match CMD = Regex.Match(CommandString, @"\(([a-z0-9]+);(INTEGER|DECIMAL|STRING);(d{1,3});(((YES|NO);){3})([a-z0-9]+)\)", RegexOptions.IgnoreCase);

if (CMD.Success){
   return true;
}
return false;

以下模式应该返回true:

(ID;Integer;12;YES;YES;YES;0)

(weak;String;5;NO;YES;YES;super)

(fabris345;decimal;23;YES;YES;YES;0)

(expr12nd;String;455;NO;YES;NO;super1000)

但他们总是返回假。为什么呢?

1 个答案:

答案 0 :(得分:5)

......(d {1,3})......应该是(\ d {1,3})