Почему "\ d + {1,4} (?: [.,] \ D {1,4})?" в RegularExpressionValidator выдает исключение: «Вложенный квантификатор {» - PullRequest
2 голосов
/ 29 апреля 2010

у меня

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

но это не работает, парсер выдает ArgumentException:

разбор "\ d + {1,4} (?: [.,] \ D {1,4})?"

Вложенный квантификатор {.

Где моя ошибка? Я хочу разрешить строки типа xxxx,xxxx - от 1 до 4 цифр и десятичных цифр не требуется, например: 1000, 99,99, 0,2498 и т. Д.

Ответы [ 3 ]

5 голосов
/ 29 апреля 2010

Это выглядит неправильно:

\d+{1,4}

Должно быть так:

\d{1,4}

+ означает «один или несколько», а {1,4} означает от одного до четырех. Их нельзя использовать вместе, так как это не имеет смысла.

2 голосов
/ 29 апреля 2010

Я думаю, что это должно сделать это:

\d{1,4}(?:,\d{1,4})?
0 голосов
/ 29 апреля 2010

Я думаю, что вы хотите

[.,]?

Вместо

?:[.,]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...