在 LINQPad (.NET) 中,所有这些表达式都返回“True”:
new Regex(@"\w{0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"(\w){0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"[\w]{0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"([\w]){0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"\w{0,0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"(\w){0,0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"[\w]{0,0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"([\w]){0,0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"([a]){0,0}").IsMatch("aaaaZZZ").Dump();
为什么?