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

时间:2010-04-29 16:56:33

标签: .net asp.net regex validation

我有

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

但它不起作用,解析器抛出ArgumentException:

  

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

     

嵌套量词{。

我的错误在哪里?我想允许xxxx,xxxx之类的字符串 - 从1到4位数,不需要十进制数字,例如:100099,990,2498等。

3 个答案:

答案 0 :(得分:5)

这看起来不对:

\d+{1,4}

应该是这样的:

\d{1,4}

+表示“一个或多个”,{1,4}表示1到4个。它们不能一起使用,因为它没有意义。

答案 1 :(得分:2)

我认为应该这样做:

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

答案 2 :(得分:0)

我想你想要

[.,]?

而不是

?:[.,]