2010-04-29 30 views
2

我有为什么“ d + {1,4}(?:[。,] d {1,4})?”在的RegularExpressionValidator抛出异常: “嵌套量词{”

<asp:RegularExpressionValidator ValidationExpression="\d+{1,4}(?:[.,]\d{1,4})?" /> 

但它没有”工作,解析器抛出的ArgumentException:

解析“\ d + {1,4}(? :[,] \ d {1,4})“?

嵌套量词{。

我的错误在哪里?我想允许串像xxxx,xxxx - 从1到4位数,小数位数不是必需的,例如:100099,990,2498

回答

2

我想这应该这样做:

\d{1,4}(?:,\d{1,4})? 
0

我想你想

[.,]? 

而不是

?:[.,] 
+0

我需要使整个权利部分是可选的,据我所知,你的代码只使'[。,]'是可选的。 – abatishchev 2010-04-29 17:27:31

+0

整个右边部分已经是可选的,因为你的尾部'?' – 2010-04-29 18:48:26

5

这看起来错:

\d+{1,4} 

应该是这样的:

\d{1,4} 

+的意思是 '一个或多个' 和{1,4}一至四个手段。它们不能一起使用,因为它没有意义。

相关问题